Как найти несколько точек с пробелом перед первыми точками, используя REGEX - PullRequest
0 голосов
/ 08 января 2019
#^.[\S]+\.[\S]+\.(.*)$

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

^.[\S]+\.[\S]+\.(.*)$

Я ожидаю, что регулярное выражение должно найти это значение

adajda9a b0a09.haa.ajada

teast.php.tasd

madnadak.ajada.a.jjhjhh

adjahdja.dfajha.ada.adjahdaj..jajjjjjhjha....dahhhhhbbja...

madkaja.adhakjda.sjjj

sadada.asdaa.jadfajk jadajda ajdhajda  ada- 0(i09d0a9 )_) aciai

aadhadka.adad.akdjajdka0sd009999a.o999

adajda9a b0a09.haa.ajada

enter image description here

Ответы [ 3 ]

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

За комментарий, чтобы соответствовать строке с пробелом, предшествующим первым многоточиям:

^[^\.]* .*\..*\..*$

Тест:

$ cat test.regexp
teast.php.tasd
madnadak.ajada.a.jjhjhh
adjahdja.dfajha.ada.adjahdaj..jajjjjjhjha....dahhhhhbbja...
madkaja.adhakjda.sjjj
sadada.asdaa.jadfajk jadajda ajdhajda  ada- 0(i09d0a9 )_) aciai
aadhadka.adad.akdjajdka0sd009999a.o999
adajda9a b0a09.haa.ajada

$ egrep "^[^\.]* .*\..*\..*$" test.regexp
adajda9a b0a09.haa.ajada
0 голосов
/ 08 января 2019

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

^[^.\s]* [^\s]*(?:\..*\..*)+$

Демо: https://regex101.com/r/UQksQK/4/

Если вы хотите разрешить несколько пробелов перед точками, используйте

^[^\.\s]* +.*(?:\..*\..*)+$

Это также будет соответствовать:

adajda9a     b0a09.haa.ajada.123

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

^[^.\s]* +[^\s]*(?:\.[^\s]*\.[^\s]*)+$

Он не будет совпадать со строками типа (где между точками есть пробелы):

adajda9a b0a09.ha a.ajada.123
0 голосов
/ 08 января 2019

Если вы просто хотите сопоставить строки, которые имеют как минимум две точки, то почему бы просто не использовать это:

^.*\..*\..*$

Демо

Вы также можете написать это с помощью lookahead:

^(?=.*\..*\.).*$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...