Регекс не соответствует - PullRequest
2 голосов
/ 27 декабря 2011

Почему это регулярное выражение:

[^\s]+  

... говорит, что эта строка:

"расширение пользователя"

не точноматч?

Ответы [ 2 ]

7 голосов
/ 27 декабря 2011

Регулярному выражению соответствует только строка, которая не содержит пробелов. Похоже, ваш метод сопоставления применяет регулярное выражение ко всей строке, поэтому он не работает.

[abc] является классом символов, что означает «либо a, b, либо c».
[^abc] является инверсией этого класса, означающей «любой символ, кроме a, b или c».
\s означает «любой символ пробела».
[^\s] (который также можно записать как \S) означает «любой непробельный символ».
+ означает «один или несколько из предыдущего токена.

2 голосов
/ 27 декабря 2011

Ваше регулярное выражение будет соответствовать строкам только с одним или несколькими непробельными символами. "user's extension" содержит совпадающие подстроки, но это не само совпадение из-за пробела.

...