嗨,这是我的第一个问题,我是个新手,希望有人能帮忙。
我的样本数据如下:
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-16毫米)我想出了上面的正则表达式,但不幸的是,这不是我想要的正确的输出。CD3在开始时应该匹配字母,而数字之间的破折号(-)不应该匹配。
感谢你的帮助!
发布于 2018-09-28 03:47:26
我会使用这样的模式:
(?<=^|\s)[^0-9].*?(?=$|\s)我不使用单词边界,而是使用查找符。这些查找断言,如果一个单词的结尾是空格或输入的开始,那么所得到的是空格或输入的结尾。这样做的原因是,对于诸如\b这样的术语,使用a10-333可能会失败。
发布于 2018-09-28 03:44:35
你可以试试这个:
/\b[^\d-\s][\w-]+\b/i其中:
\b -单词的开头和结尾
[^\d-\s] -匹配除数字、破折号和空格以外的任何字符。
[\w-]+ -匹配字符从a到z,从0到9和_(不区分大小写)
您可以检查这个regex 这里。
https://stackoverflow.com/questions/52547888
复制相似问题