繁体   English   中英

以字符开头与正则表达式不匹配

[英]Starts With Character Does Not Match at Regex

我有这样一个正则表达式:

/^[0-9]*.*K/

我有一个字符串要测试:

L1/50K

它匹配。 但是它应该匹配一个以数字开头的字符串吗? 该正则表达式的解释是什么?

“ *”表示0或更大。 您必须使用+,表示1或更多

/^[0-9]+.*K/

删除[0-9]之后的* *重复前一个( 令牌或字符 )零次或多次,因此,如果第一个不存在数字,则^[0-9]*.*K将匹配字符串。

^\d\d*.*K$

要么

^\d+.*K$

要么

^\d{1,}.*K$

首先使用\\d ,以使其与以数字开头的字符串匹配。 注意\\d等于[0-9] $表示行的末尾,请在K之后使用此锚点,以使其与以数字开头和以K结尾的行匹配

*匹配0个或多个前面的标记。 如果要强制以数字开头,则应使用+,例如:

/^[0-9]+.*K/

获得有关正则表达式的出色文档,以及构建它们: http : //www.regexr.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM