Regex 正则表达式匹配除以数字开头的字符串以外的所有内容
嗨,这是我的第一个问题,我对regex很陌生,希望有人能帮我 我的样本数据如下:Regex 正则表达式匹配除以数字开头的字符串以外的所有内容,regex,Regex,嗨,这是我的第一个问题,我对regex很陌生,希望有人能帮我 我的样本数据如下: black PENS Assorted Bit Set 10Pcs Hollow blocks 10-16mm Cd3 Hollow blocks 16-23mm Cd3 Hollow blocks 5-10mm Cd3 Hollow blocks To 1-5mm Cd3 \b[^\d]+\b 我正在尝试用一个正则表达式来匹配列表中的所有内容,除了以数字开头的单词(例如10-16mm)。我提
black PENS Assorted Bit Set 10Pcs
Hollow blocks 10-16mm Cd3
Hollow blocks 16-23mm Cd3
Hollow blocks 5-10mm Cd3
Hollow blocks To 1-5mm Cd3
\b[^\d]+\b
我正在尝试用一个正则表达式来匹配列表中的所有内容,除了以数字开头的单词(例如10-16mm)。我提出了上面的正则表达式,但不幸的是,它不是我想要的正确输出。CD3的开头字母应该匹配,数字之间的破折号(-)不应该匹配
谢谢你的帮助 您可以尝试以下方法:
/\b[^\d-\s][\w-]+\b/i
其中:
\b
-单词的开头和结尾
[^\d-\s]
-匹配除数字、破折号和空格外的任何字符
[\w-]+
-将字符从a到z、从0到9和_匹配(不区分大小写)
您可以检查此正则表达式我将使用此模式:
(?<=^|\s)[^0-9].*?(?=$|\s)
(?您可以执行以下操作:
/\b([a-zA-Z]\w+)/
如果要匹配诸如a33-45
之类的单词,则需要更改为:
/\b([a-zA-Z][\w\d-]+)/
只需将您认为可以接受的“word”字符添加到第二个字符类,[\w\d-]
中,并将其添加到第一个字符类,[a-zA-Z]
您认为什么是可以接受的单词开头字符。关于10Pcs
?请解释您想要实现的确切输出以及您使用的工具/编程语言。下面的答案可能适用于您,也可能不适用于您,这取决于正则表达式的风格和底层代码。可能这是最好的!)@TimBiegeleisen:Easy fix:/\b([a-zA-Z][\w\d-]+)/
@TimBiegeleisen是的,谢谢!我已经更新了我的答案。根据我的样本数据,提供的所有答案实际上都是正确的,但我有一个庞大的数据列表,我正在处理(我说的是数千个),蒂姆的答案是最接近的。我只是需要稍微调整一下。非常感谢你的回答!