这个正则表达式做了什么?常规

joh*_*ith 1 regex grails groovy

我需要了解这个正则表达式的作用,但阅读关于正则表达式的groovy.codehaus文档似乎并不能帮助我

matches: "[\\p{L}\\p{N}\\s-.()_&]+"
Run Code Online (Sandbox Code Playgroud)

http://groovy.codehaus.org/Regular+Expressions

任何暗示,提前谢谢

Pha*_*aoh 5

首先,所有反斜杠都被转义,因此[\\p{L}\\p{N}\\s-.()_&]+被视为
[\p{L}\p{N}\s-.()_&]+.

[ ] 是一个字符类,它匹配两个括号之间的任何内容,使用以下语法:

\p{L}匹配Unicode属性L,字母
\p{N}匹配Unicode属性N,数字
\s是任何空格字符
-.()_&?在字符类中没有特殊含义,所以它们可以按字面意思读取

因此[\p{L}\p{N}\s-.()_&]匹配上述四个选项中的任何单个字符.
所述+在端部的意思是"一个或多个".

基本上,它是Unicode版本[a-zA-Z0-9\s-.()_&]+或更短[\w\s-.()&]+

  • +1它意味着:_至少有一件事,它们都必须在字母,数字,空格和字符集中. - .()_&`_ (3认同)