任何人都可以幫助我解決這個問題嗎?用正則表達式解析標籤參數字符串
我的目標是從文本文件中獲取一些信息,向用戶顯示並請求值來替換該信息以生成新的輸出。所以我想使用正則表達式。
我的變量的格式爲:{@<num>[|<value>]}
。
下面是一些例子:
{@1}<br>
{@2|label}<br>
{@3|label|help}<br>
{@4|label|help|something else}<br><br>
因此,一些研究和試驗後,我想出了這個表達式:\{\@(\d{1,})(?:\|{1}(.+))*\}
它工作得很好,對大多數ocasions的,對像除了當此:
{@1} some text {@2|label} some more text {@3|label|help}
在這種情況下變量2 & 3上的單次發生,而不是在2秒匹配分開的匹配...
我已經試圖使用lookahead命令爲表達式的尾部}
,但我沒有設法得到它。
我針對這個表達式使用到C#,應該進一步幫助任何人......
你嘗試使用非貪婪的匹配'(。+?)'而不是'(。+)'嗎? – Howard