Объединение кодов Regex To Mach с двойным хэштегом - PullRequest
0 голосов
/ 17 января 2019

Я работаю с некоторым RegEx, чтобы сопоставить все мои коды слияния в документах ..

Слияния такие:

##customer.name
##customer.eployee.address

и т.д.

Я сделал это довольно простое регулярное выражение

\S*##\S*

, который помогает мне сопоставить почти все случаи, поскольку в качестве «разделителя» используется пробел, и он работает для трех приведенных ниже примеров:

1
##customer.name ##customer.address

2
##customer.name ##customer.address

3
##customer.name     ##customer.address 

Но не в этих:

1
##customer.name##customer.address 

2
##customer.name,##customer.address 

3
##customer.name--##customer.address 

Я знаю, что должен начинать все сначала, когда он встречает новый ##, но все, что я пробовал, похоже, не работает.

Попробовал это после поиска, но это не сработало: (

\S*##[^##\s]*

Любые предложения будут высоко оценены:)

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 января 2019
##[\w.]+

Это соответствует начальным двойным хэшам затем один или несколько буквенно-цифровых символов или точек (.).

демо здесь

0 голосов
/ 17 января 2019

Вы можете использовать любой из двух подходов:

##[^#\s]+\b
##\w+(?:\.\w+)*

См. regex demo # 1 и regex demo # 2 .

Подробнее

  • ## - соответствует ## подстрока
  • [^#\s]+\b - любые 1+ символов, кроме # и пробелов, как можно больше, но должны останавливаться на самой правой границе слова
  • \w+(?:\.\w+)* - соответствует 1+ букв / цифр / подчеркиваний, а затем любой 0 или более последовательностей . и 1+ букв / цифр / подчеркиваний.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...