如何使用正則表達式的表達式搜索高達嵌套級搜索字符串正則表達式表達式搜索高達嵌套層次
喜歡說:我有串狀
var str = "samir patel {[email protected]{[email protected]}}";
如何使用正則表達式的表達式搜索高達嵌套級搜索字符串正則表達式表達式搜索高達嵌套層次
喜歡說:我有串狀
var str = "samir patel {[email protected]{[email protected]}}";
你可以簡單地使用此模式:
{([^{}]*)}
這將匹配任何字符串,如{some content}
,它不包含任何其他組,如{some content}
。你可以測試這個here。
可以使用捕捉這樣的:
var str = "samir patel {[email protected]{[email protected]}}";
var regex = new Regex("{([^{}]*)}");
var matches = regex.Matches(str);
var output = matches[0].Groups[1].Value;
// output == "[email protected]"
或者更簡單地說:
var str = "samir patel {[email protected]{[email protected]}}";
var output = Regex.Match(str, "{([^{}]*)}").Groups[1].Value;
// output == "[email protected]"
假設使用JavaScript以外的語言,您可以使用(?<=\{)[^{}]*(?=\})
得到此結果。在C#中,例如,這是
result = Regex.Match(str, @"(?<=\{)[^{}]*(?=\})").Value;
如果您使用的JavaScript,使用\{([^{}]*)\}
和比賽結果存取$1
:
var myregexp = /\{([^{}]*)\}/;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1];
}
這給出像{[email protected]}。感謝您達到這個水平。但如何刪除括號。我需要輸出像[email protected] – Nijesh
第一組是沒有括號的內容。看到我更新的答案。 –
哇這個工作。謝謝。標記爲答案。 你能再給一個提示嗎?如果我使用<>方括號而不是{} ,比如「samir patel <[email protected] <[email protected] >>」 – Nijesh