希望創建一個正則運算式以匹配以逗號分隔的運算式的左側,如下所示,最好忽略任何空格:
abc = a1, def = b2, ghi = c3
運算式將匹配abc def并且ghi
到目前為止已經使用了這個正則運算式(?<=,).*?(?=\=),但是它與第一個值不匹配并且不忽略空格。
uj5u.com熱心網友回復:
您的模式與第一個值不匹配,因為正向后向(?<=,)斷言左側有一個逗號,示例字串中的第一個值不存在該逗號。
該模式不會忽略空格,因為在這一部分.*?(?=\=)中,“點星”可以匹配(包括空格)到斷言(?=\=)為真的點。
獲得第一個值的一個選項是使用捕獲組并匹配以逗號結尾或斷言字串結尾的模式。
(\w )\s =\s \w (?:,|$)
解釋
(\w )在第 1 組中捕獲 1 個單詞字符\s =\s=空格字符之間的匹配\w匹配 1 個單詞字符(?:,|$)匹配逗號或斷言字串的結尾
正則運算式演示
uj5u.com熱心網友回復:
這似乎有效:
\w (?= =)
見現場演示。
在英語中,單詞字符 the 后跟" =".
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/465816.html
標籤:正则表达式
下一篇:從阿拉伯文本中提取拉丁數字
