顾名思义,^\d*(\:d+)?$
的含义是什么,.
到底意味着什么^\d*(\:d+)?$.
答案 0 :(得分:1)
.
末尾的^\d*(:d+)?$.
很可能是句子的结尾,并且很可能不是正则表达式本身的一部分。
为什么?:$
是行尾的符号,因此除非您使用正则表达式匹配多行字符串(很少见,但有可能),否则.
将不匹配任何内容,因为字符串末尾没有任何内容。
正则表达式是什么意思?:
^
字符串的开头\d*
0或更多数字(:d+)?
出现:
后跟一个或多个d
的可能性(可能是拼写错误,它们又表示\ d)$
字符串结尾这与模式最匹配:
:1
,其中\d*
可以有0个或更多条目12
,其中:
和:
之后的内容是可选的\d*
可以有多个条目,而:
和:
之后的数字是可选的1:2
,您至少拥有其中的全部1234567890:123
,其中:
的两边都有很多数字答案 1 :(得分:0)
. Dot Matches any character except linebreaks
表单详细信息将您的正则表达式放在此处:https://regexr.com/
答案 2 :(得分:0)
对于您的问题,一个很好的解决方案是找到 regex测试器页面,例如https://regex101.com/
然后:
还请参见右上角的 EXPLANATION 标题。 它包含对正则表达式的非常详细的解释。
就您的正则表达式而言:(\:d+)
看起来有些奇怪,因为:
:
)前面不需要任何\
。(:\d+)
,即在冒号之后
用一个数字序列?如上修改的正则表达式将匹配例如源字符串,例如789:456
。
有关示例,请参见https://regex101.com/r/kKz9oo/1