正则表达式在regex101中匹配,但在TypeScript正则表达式测试中不匹配
我需要一个正则表达式来匹配0.0-6.0之间的数字,它还应该匹配逗号,比如0,0-6,0,最后但并非最不重要的是,它应该匹配0-6之间的数字 我是新来的正则表达式,所以不介意我的正则表达式是否完全错误 我当前的正则表达式是->正则表达式在regex101中匹配,但在TypeScript正则表达式测试中不匹配,regex,typescript,Regex,Typescript,我需要一个正则表达式来匹配0.0-6.0之间的数字,它还应该匹配逗号,比如0,0-6,0,最后但并非最不重要的是,它应该匹配0-6之间的数字 我是新来的正则表达式,所以不介意我的正则表达式是否完全错误 我当前的正则表达式是->/(^[0-5][.|,]\d$)|(^[6][.|,][0]$)|(^[0-6]$)/gms 这与regex101中的每种情况都匹配,但与我的typescript代码中的情况不匹配 在代码中,我将匹配字符串,如下所示: /(^[0-5][.|,]\d$)|(^[6][.|
/(^[0-5][.|,]\d$)|(^[6][.|,][0]$)|(^[0-6]$)/gms
这与regex101中的每种情况都匹配,但与我的typescript代码中的情况不匹配
在代码中,我将匹配字符串,如下所示:
/(^[0-5][.|,]\d$)|(^[6][.|,][0]$)|(^[0-6]$)/gms.test(stringToTest)
这匹配0-6和0.0-6.0,但不匹配0,0-6,0。如何改进我的正则表达式,使其如正则表达式101所示工作
提前感谢您的帮助。您可以使用
^(?:[0-5](?:[.,][0-9])?|6(?:[.,]0)?)$
行的开头^
非捕获组(?:
匹配数字0-5[0-5]
可以选择匹配一个(?:[,][0-9])?
或
后跟一个数字0-9,
或|
匹配66
可以选择匹配一个(?:[,]0)?
或.a.
后跟一个0,
行尾$
[.|,]
中的管道,它意味着按照字面意思匹配管道字符,而不是OR。[6]
不必位于方括号之间
您不需要使用/s
标志,因为模式确实使用了也应该与换行符匹配的点
const regex = /^(?:[0-5](?:[.,][0-9])?|6(?:[.,]0)?)$/gm;
你可以用
^(?:[0-5](?:[.,][0-9])?|6(?:[.,]0)?)$
行的开头^
非捕获组(?:
匹配数字0-5[0-5]
可以选择匹配一个(?:[,][0-9])?
或
后跟一个数字0-9,
或|
匹配66
可以选择匹配一个(?:[,]0)?
或.a.
后跟一个0,
行尾$
[.|,]
中的管道,它意味着按照字面意思匹配管道字符,而不是OR。[6]
不必位于方括号之间
您不需要使用/s
标志,因为模式确实使用了也应该与换行符匹配的点
const regex = /^(?:[0-5](?:[.,][0-9])?|6(?:[.,]0)?)$/gm;