我不知道(\S+) |
和(\S+)\.|
之间的区别是什么。
答案 0 :(得分:6)
(\S+)\.|
将匹配并捕获任何数字(一个或多个)非空格字符,后跟一个点字符。
(\S+) |
将匹配并捕获任何数字(一个或多个)非空格字符,后跟空格字符(假设正则表达式未使用/x
标志进行修改)。< / p>
在这两种情况下,这些结构似乎是交替的一个组成部分。
打破它:
(
.... )
:分组和捕获。\S
:非空格字符。+
:一个或多个。 \.
:一个点字符(没有反斜杠转义,
dot有特殊意义)。
:只是一个普通的单一空间。|
:轮换(类似于逻辑或)。有关Perl正则表达式中的速成课程,请参阅perlretut。另外perlintro是学习Perl的良好起点,perlre是Perl正则表达式的规范解释。 Perl的文档中还有许多其他有用的文档,但这些文档可以帮助您朝着正确的方向前进。
如果您想了解2005年有关常见正则表达口味的所有内容,Mastering Regular Expressions, 3rd Edition是无与伦比的。尽管已有几年历史,它仍然是正则表达式上最好的资源之一。