【发布时间】:2019-04-23 01:42:52
【问题描述】:
我的 RegEx 也可以找到 here,尽管我手动插入字符来查找回车符。
((?:\d{6}?)([A-Z\d]{3})?(?:[\^r\ ]+)(([A-Z\d]{6}|[A-Z\d]{5} |[A-Z\d]{4} ))?)
我在 5 和 4 个字符串之后指定了一个空格,但我的正则表达式似乎至少在第一行忽略了它。即使我不希望它匹配“EXTEND”。只要后面有空格。它可以在第三行使用“XOBUS”。
FPCN54 CWNT 080810^r^r EXTENDED FORE #should not match anything
ASUS42 KMHX 080425^r^r RWRMHX^r^r WEAT #should match RWRMHX
RXUS30 KWNO 081300^r^r XOBUS ^r^r GREA #should match XOBUS w/ 1 trailing space
FXUS64 KEWX 081112 RR3^r^r AFDEWX^r^r #should match RR3 and AFDEWX
编辑:忘记在第一个回车之前包含 3 个字符的字母数字。请参见第 4 行。也需要捕获它。
【问题讨论】:
-
最好明确地说出你的正则表达式的想法是什么(它应该匹配后面跟着 ^r^r 或类似内容的第 4 个单词,是吗?)。因为正则表达式对于可能的回答者来说并不那么容易解析(特别是如果你有任何错误)。
-
@Sanyash 在一个 6 位字符串之后,它应该匹配一个 6 个字符的字母数字字符串、一个带有空格的 5 个字符的字母数字,或者一个带有两个空格的 4 个字符的字母数字。跨度>