我的正则表达式正在工作 - 直到它捕获的字符串形式略有变化。它过去总是采用以下形式:
Word1 - Word2 - 01.2.3456.7890 - xx-xx - Word 3 [Word-inbracket]
我对捕获xx-xx
.
为了捕获此数据,以下正则表达式起作用:
(.+\s*-\s*.+\s*-\s*.+)\s*-\s*(\w{1,3}\s*-\s*\w{1,3})\s*-\s*.+
从中选择组[2]。
然而,现在字符串已经改变了形式,因此有时会出现另一个破折号,以及 . 后面的 1 到 4 个字符之间的另一组字母xx-xx
。(请记住,这只有时会发生)。
所以,现在我还需要捕获以下形式的信息:
Word1 - Word2 - 01.2.3456.7890 - xx-xx-XxxX - Word 3 [Word-inbracket]
Word1 - Word2 - 01.2.3456.7890 - xXX-XxX-xxxx - Word 3 [Word-inbracket]
等等。
除了以前捕获的字符串之外,我如何编辑我的正则表达式来捕获这个字符串?最干净的方法是什么?