我需要了解此正则表达式的功能,但是阅读有关正则表达式的groovy.codehaus文档似乎对我没有帮助
matches: "[\\p{L}\\p{N}\\s-.()_&]+"
http://groovy.codehaus.org/Regular+Expressions
任何提示,在此先感谢
最佳答案
首先,所有反斜杠均被转义,因此[\\p{L}\\p{N}\\s-.()_&]+
将被读取为
[\p{L}\p{N}\s-.()_&]+
。[ ]
是一个字符类,它使用以下语法匹配两个方括号之间的所有内容:\p{L}
匹配Unicode属性L,letter\p{N}
与Unicode属性N,数字匹配\s
是任何空格字符-.()_&?
在字符类中没有特殊含义,因此可以按字面意义读取它们
因此,[\p{L}\p{N}\s-.()_&]
与提到的四个选项中的任何单个字符匹配。
最后的+
表示“一个或多个”。
基本上是[a-zA-Z0-9\s-.()_&]+
或更短的[\w\s-.()&]+
的Unicode版本
关于regex - 这个正则表达式做什么?时髦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17294120/