gpt4 book ai didi

用于检查模式是否存在的 Java 正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:14 24 4
gpt4 key购买 nike

我正在尝试查找字符串中是否存在某种模式。

我要检查的模式是:

String starting with space or "#",
then with specific string "value1" followed by space or tab,
then "value2" and again space or tab,
ends with "value3".


这里有一个要检查的示例字符串:

String str = "#  value1   values2 value3";

我尝试了以下正则表达式,但没有用:

str.matches("^\\s+#\\s+value1\\s+value2\\s+value3");

上面的模式总是返回 false。请帮助正则表达式。非常感谢任何帮助。

最佳答案

试试这个:-

str.matches("^[ #]value1\\s+value2\\s+value3$");

[#] - 匹配空格或#

\\s+ - 匹配 1 个或多个空格。所以,它会匹配一个空格或制表符

注意:- 您的字符串中有 values2 而不是 value2

此外,您发布的示例字符串在开头有一个 space 和一个 # 。但是你说字符串以 space# 开头。因此,如果您删除第一个 # 之后的空格,或者删除您的空格之前的 #,它将匹配您的字符串,这取决于您所写的内容。

如果您想匹配字符串开头的 space#,就像您发布的当前 String 一样。您需要使用此正则表达式:-

str.matches("^[ #]\\svalue1\\s+value2\\s+value3$");

关于用于检查模式是否存在的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13072652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com