![](/img/trans.png)
[英]Regex to match comma separated string with no comma at the end of the line
[英]Regex match multiple parameters separated by comma in command line
我正在研究 C# 正則表達式以實現以下結果。
command value1 valu2 : param1=value1, param2=[valu2], param3 = vaule3 /option1 |option2
Group1: param1=value1
Group2: param2=[valu2]
Group3: param3 = vaule3
我目前的正則表達式:
(\w+\s*\=\s*\w+)(,\w+\s*\=\s*[a-zA-Z0-9\]\[]+)*
我缺少包括以下內容:
這是測試測試: https://regex101.com/r/5kPXAz/1
我使用了以下示例:
您嘗試的模式與所有值都不匹配,因為使用字符 class 匹配方括號只會在首先匹配逗號后出現在模式的第二部分。
您可以使用交替來匹配被方括號包圍的單詞字符或僅匹配單詞字符,並使用正向前瞻來斷言/
或,
或行尾。
\w+\s*=\s*(?:\[\w+\]|\w+)(?=\s*[,/]|$)
解釋
\w+\s*=\s*
匹配 1+ 個單詞字符和可選空白字符之間的等號(?:
非捕獲組
\[\w+\]
匹配[
1+ 單詞字符和]
|
或者\w+
匹配 1+ 個單詞字符)
關閉組(?=\s*[,/]|$)
正向前瞻,斷言右邊是,
或/
或行尾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.