Как экранировать текст для регулярного выражения?

Поиск слова, которое чаще всего происходит в документе, может быть выполнено в O (n) с помощью простой гистограммы [hash based]:

histogram <- new map
for each word in document: 
   if word in histogram:
      histogram[word] <- histogram[word] + 1
   else:
      histogram[word] <- 1
max <- 0
maxWord<- ""
for each word in histogram:
  if histogram[word] > max:
     max <- histogram[word]
     maxWord <- word
return maxWord

Это O (n), и поскольку проблема явно является проблемой Омега (n), она оптимальна в терминах большой записи O .

-2
задан Saroj Lamichhane 28 February 2019 в 09:52
поделиться

1 ответ

Для десятичной цифры вы можете использовать \d+(\.\d+)* регулярное выражение. Если мы поместим это в контекст утверждения, мы получим это:

(\\d+(\\.\\d+)*)+\\)\\((\\d+(\\.\\d+)*)+

Вот пример:

String s = "10.0)(20.0";
String regex = "(\\d+(\\.\\d+)*)+\\)\\((\\d+(\\.\\d+)*)+";
System.out.println(s.matches(regex));
0
ответ дан Darshan Mehta 28 February 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: