想知道是否有任何正则表达式大师可以帮助弄清楚如何创建一个正则表达式来解决这个问题。我很难过。
我需要在此多行文字的变体上匹配“CUST-X”..
"CUST-1 Some message\nLock-Id: Id74248cd199\n"
要求:
示例:
测试应与“CUST-1”匹配的字符串
"CUST-1 Some message\nLock-Id: Id14248cd199"
" CUST-1 another message\nLock-Id: Id14258cd199"
"CUST-1:I like apples\nLock-Id: Id84248cd199"
"CUST-1: peaches are sweet\nLock-Id: Id78248cd199"
"CUST-1: pies are great\nLock-Id: Id71248cd199"
应匹配“CUST-X”而不是“CUST-X”
"CUST-1: Nice message about CUST-2\nLock-Id: Id74248cd199\n"
测试不匹配“CUST-1”的字符串
"CUST-1\nLock-Id: Id78248cd199"
"CUST-1 \nLock-Id: Id74248cd199"
"CUST-1:\nLock-Id: Id84248cd199"
"CUST-1: \nLock-Id: Id94248cd199"
我想出的关闭是......
^\\s*([A-Z]+-[0-9]+):?\\s+\\S+
但这也符合我不希望匹配发生的情况。
答案 0 :(得分:0)
我认为这就是你要找的东西:
^\\s*([A-Z]+-[0-9]+):?\\p{Z}+\\S+
\s
匹配定义为[\t\n\f\r\p{Z}]
的任何空白字符,其中包含\n
。
\p{Z}
仅指空白字符本身。