我试图纠正一个正则表达式将下面的内容分成几组
0001 material tk.dup4.100
我设法编写了这个可行的方法:
(\d{4})\s(\w+)\stk\.(dup(\d+).(\d+))
然而,有可能0001会立即跟着一封信,例如。 0001a如果我添加匹配中断。我不需要捕获字母,只需要捕获之前的数字。任何帮助将不胜感激
...
感谢您的回答。问题解决了,但我有另一个问题,我非常想要帮助。如果我想捕获字符串前面的另一个块(newbit 0001 material tk.dup4.100)可能存在也可能不存在可能存在或者如果不存在则会失败?
答案 0 :(得分:1)
这可能对您有用:
(\d{4})[A-Za-z]?\s(\w+)\stk\.(dup(\d+).(\d+))
请注意添加[A-Za-z]?
。 [A-Za-z]?
捕获任何字母字符的0或1。