在java中用空格regex匹配单词
这个很简单,但似乎让我很困惑 我有以下文本行:在java中用空格regex匹配单词,java,regex,Java,Regex,这个很简单,但似乎让我很困惑 我有以下文本行: for months to 我正在尝试将其与以下正则表达式匹配: for\s*months\s*to 我将此正则表达式解读为: 必须有“for”这个词 后跟任意大小的空间 然后是“月” 后跟任意大小的空间 后面跟着“to” 对我来说,这应该是匹配的,但事实并非如此。任何人都能看到我可能出错的地方。您很可能有前面或后面的空格。使用String.matches(String regex)必须匹配整个字符串 请在\\s+月\\s+
for months to
我正在尝试将其与以下正则表达式匹配:
for\s*months\s*to
我将此正则表达式解读为:
对我来说,这应该是匹配的,但事实并非如此。任何人都能看到我可能出错的地方。您很可能有前面或后面的空格。使用
String.matches(String regex)
必须匹配整个字符串
请在\\s+月\\s+到\\s*期间尝试
“\\s*”
您很可能前面或后面有空格。使用String.matches(String regex)
必须匹配整个字符串
请在\\s+months\\s+to\\s*中尝试
“\\s*”
这是因为后面有空格
试试这个:
Pattern p = Pattern.compile("for\\s*months\\s*to\\s*");
Matcher m = p.matcher("for months to ");
System.out.println(m.matches());
这是因为尾随空格 试试这个:
Pattern p = Pattern.compile("for\\s*months\\s*to\\s*");
Matcher m = p.matcher("for months to ");
System.out.println(m.matches());
我将其更改为:
\s*for\s*months\s*更改为
,以允许开始时有任何空格,但它仍然不匹配,这是因为在上面的示例中,末尾有额外的空格。我将其更改为:\s*for\s*months\s*更改为
,以允许开始时有任何空格,但它仍然不匹配,这是因为在上面的示例中,末尾有额外的空格。您可能有额外的空格(复制代码时,在“to”后面有额外的空格)。这里有一个链接可以帮助您解决问题。您可能有额外的空格(复制代码时,在“to”之后会有额外的空格)。这里有一个链接可以帮助您解决问题。在您的回答之后,我从OPs问题中选择了“下面的文本行”,选择显示了尾随空格。接得好!:)在您的回答之后,我从OPs问题中选择了“下面的文本行”,选择显示了尾随空格。接得好!:)