我正在处理某些数据,想用正则表达式来排序。我的要求是匹配每一行以非数字开头的单词。我试着用。第一个月但是上面的正则表达式不匹配像这样的行-“12#22为什么会这样”正则表达式认为12#22是一个数字字,但12#22是一个非数字字。谁能解释我的情况下正确的解决方案。
mrphzbgm1#
/^[^\d\s]+\b.*/gm匹配以一个或多个字符(数字和空格除外)开头,后跟单词边界的任何行。12#22 why is it so以数字开头,因此不匹配。你需要
/^[^\d\s]+\b.*/gm
12#22 why is it so
/^(?!\d+[^\S\n\r]).*/gm
^
(?!\d+[^\S\n\r])
.*
请参见regex demo。
1条答案
按热度按时间mrphzbgm1#
/^[^\d\s]+\b.*/gm
匹配以一个或多个字符(数字和空格除外)开头,后跟单词边界的任何行。12#22 why is it so
以数字开头,因此不匹配。你需要
^
-行的开始(?!\d+[^\S\n\r])
-在当前位置的右侧,不应有一个或多个数字,然后是一个水平空格.*
-线路的其余部分。请参见regex demo。