Perl соответствующие символы больше заданной длины - PullRequest
0 голосов
/ 11 августа 2011

Я изо всех сил пытался написать регулярное выражение, которое соответствует словам длиннее, чем заданная длина в скобках. Сначала я подумал, что могу сделать это с \(\w{a,}\), но я понимаю, что это не совпадает со словами с пробелами (ab cd ef). Все, что я хочу сделать, - это найти любые символы в скобках длиннее, например, 3 символа. Как я могу решить эту проблему?

Ответы [ 4 ]

1 голос
/ 11 августа 2011

Что такое слово с пробелом?

, если вы хотите сопоставить какой-либо символ, тогда используйте .

\(.{3,}\)

. соответствует любому символу, кроме символов новой строки

Но будьте осторожны, это жадный.например, он также будет соответствовать

(a)123(b)

Чтобы избежать этого, вы можете сделать что-то вроде

\([^)]{3,}\)

См. здесь онлайн на Regexr

[^)] означает любой символ, кроме )

1 голос
/ 11 августа 2011

Может быть, вы имеете в виду?

  \([\w\s]{a,}\)
1 голос
/ 11 августа 2011

Вы можете использовать класс символов, который включает в себя \w и \s:

\([\w\s]{a,}\)
0 голосов
/ 11 августа 2011

если в нем есть пробел, это уже не слово.

соответствует любым символам в порядке \(.{a,}\)? Или вам просто нужны пробелы \(\(\w|\s\){a,}\)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...