Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用正则表达式匹配特定文本中的^(d+;)_Java_Regex - Fatal编程技术网

Java 如何使用正则表达式匹配特定文本中的^(d+;)

Java 如何使用正则表达式匹配特定文本中的^(d+;),java,regex,Java,Regex,例如,我有如下文本: 案例1: (1) Hello, how are you? 案例2: Hi. (1) How're you doing? 现在我想匹配以(\d+)开头的文本 我尝试了以下regex,但没有任何效果。 ^[\(\d+\)],^\(\d+\)[]用于匹配括号内指定的任何内容,后面跟着一个量词 第二个regexp将起作用:^\(\d+\),因此请检查您的代码 同时选中,使第一个括号前面没有空格,或在前面添加\s* 编辑:另外,java在转义时可能会很棘手,这取决于您键入的re

例如,我有如下文本:

案例1:

(1) Hello, how are you?
案例2:

 Hi. (1) How're you doing?
现在我想匹配以
(\d+)
开头的文本

我尝试了以下
regex
,但没有任何效果。

^[\(\d+\)]
^\(\d+\)
[]
用于匹配括号内指定的任何内容,后面跟着一个量词

第二个regexp将起作用:
^\(\d+\)
,因此请检查您的代码

同时选中,使第一个括号前面没有空格,或在前面添加
\s*


编辑:另外,java在转义时可能会很棘手,这取决于您键入的regexp是直接转换为regexp还是首先是字符串文本。您可能需要双重转义。

在Java中,您必须转义括号,因此
“\\\(\\d+\\)”
应该匹配
(1)
(在第一种和第二种情况下)。添加
^
“^\\(\\d+\\)”将只匹配案例1

您必须在java字符串中使用双反斜杠。考虑这个

  • “\n”
    给你[换行符]
  • “\\n”
    给你[反斜杠][n]
如果你打算否决我的帖子,至少发表评论告诉我为什么它没有用。

我相信Java的正则表达式引擎支持正向查找,在这种情况下,您可以使用以下正则表达式:


(?您是否使用了
String\matches()
?在这种情况下,请使用
\(\d+\).
。您是否也要匹配案例2?您希望如何匹配类似
的内容嗨。(1)您好吗?(2)我很好。但我不知道如何匹配这个。(3)完成。
?如果您仍在努力让它工作,请更新您的问题,添加代码片段,向我们展示您如何实际使用正则表达式匹配。[0-9]{19999}将允许您有9999个数字字符。不是0-9999。这是故意的。
java.util.regex
包不允许在lookback中无限重复。您能不能只使用a+、a*或{0,}?(我在您的描述中也漏掉了“times”一词,还以为您说它是一个介于1和9999之间的数字)我从来都不知道…但我从来都不需要一个无限数!谢谢大家,这一个是有效的!!我尝试过这个,但我不知道我怎么没有更早。再次感谢!那么,你需要正则表达式来匹配数字后面的单词,还是仅仅匹配数字?因为
^\(\d+\)
将只匹配括号和数字,但您的帖子说>
我想匹配以(\d+)开头的文本