【发布时间】:2015-11-25 12:46:50
【问题描述】:
我想要实现的是匹配文本中的所有单词,但忽略那些以 4 个空格开头的行中(新行之前)的单词。
示例
查找单词的文本文件:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.
This must NOT be matched. Because it has 4 whitespaces at the beginning.
Lorem ipsum dolor sit amet. Ut enim ad minim veniam.
因此,下一行中的单词不应该被认为与模式匹配:
This must NOT be matched. Because it has 4 whitespaces at the beginning.
代码
这是我的正则表达式,它可以找到所有单词:
\\b[A-Za-z]+\\b
我知道在 Java 的 RegEx 语法中有 except 是 ^ 符号,但我只知道如何在更简单的表达式中使用它。
【问题讨论】:
-
如何处理单行?如果在任何时候该行位于
String中,则跳过检查字符串是否以 fout 空格开头。 -
@SubOptimal 我从文件中读取文本并将其分配给一个字符串变量,所以我的所有文本都存储在一个字符串变量中
-
您要匹配所有行还是所有不以4个空格开头的单词?
-
@RDay 我想匹配行中的所有单词
-
@RDay '^(?!\s)[\w\s!-~]+' 这也应该选择所有标点符号