Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
为什么*regex操作符不工作?_Regex - Fatal编程技术网

为什么*regex操作符不工作?

为什么*regex操作符不工作?,regex,Regex,[\d-.]+有效,但[\d-.]*无效。我唯一更改的是结尾处的+到* <b>12345</b> <b>12345-6789</b> <i>1234.5678</i> <tag>1234-2342346456</tag> 12345 12345-6789 1234.5678 1234-2342346456 我在这里测试过 *表示0或更多,而+表示1或更多。*是否只与一起工作?操作符工作正常,只是r

[\d-.]+
有效,但
[\d-.]*
无效。我唯一更改的是结尾处的
+
*

<b>12345</b>
<b>12345-6789</b>
<i>1234.5678</i>
<tag>1234-2342346456</tag>
12345
12345-6789
1234.5678
1234-2342346456
我在这里测试过


*
表示0或更多,而
+
表示1或更多。
*
是否只与
一起工作?

操作符工作正常,只是regexr的行为很滑稽,或者是由于您在regex字符类中危险地使用了
-
字符。如果要匹配字符类中的
-
字符,请将其放在开头;否则,正则表达式引擎可能会认为您想要匹配一个范围(例如
[a-Z]


固定的正则表达式> [-\d] *工作在.

中,所有这些XML行是什么?显示整个正则表达式,并精确地输入*,对于每个正则表达式,不仅如此。这是一个奇怪的问题,我们只需搜索示例文本。我正在学习正则表达式,我不明白为什么
*
不起作用。嗯,我明白了,这只是网站的问题。似乎就是网站。即使是
[\d]*
也不能在“[\d]+起作用时起作用。