"(\ S +)\。|"之间的区别和"(\ S +)|"在Perl

时间:2015-08-29 20:44:08

标签: regex perl

我不知道(\S+) |(\S+)\.|之间的区别是什么。

1 个答案:

答案 0 :(得分:6)

(\S+)\.|将匹配并捕获任何数字(一个或多个)非空格字符,后跟一个点字符。

(\S+) |将匹配并捕获任何数字(一个或多个)非空格字符,后跟空格字符(假设正则表达式未使用/x标志进行修改)。< / p>

在这两种情况下,这些结构似乎是交替的一个组成部分。

打破它:

  • ( .... ):分组和捕获。
  • \S:非空格字符。
  • +:一个或多个。
  • \.:一个点字符(没有反斜杠转义, dot有特殊意义)。
  • :只是一个普通的单一空间。
  • |:轮换(类似于逻辑或)。

有关Perl正则表达式中的速成课程,请参阅perlretut。另外perlintro是学习Perl的良好起点,perlre是Perl正则表达式的规范解释。 Perl的文档中还有许多其他有用的文档,但这些文档可以帮助您朝着正确的方向前进。

如果您想了解2005年有关常见正则表达口味的所有内容,Mastering Regular Expressions, 3rd Edition是无与伦比的。尽管已有几年历史,它仍然是正则表达式上最好的资源之一。