[英]How to find string between some characters using regex in c#
美好的一天〜我不是很擅長這個正則表達式。 所以請你幫忙。
條件:用戶可以一起輸入他們的電子郵件地址和姓名。 我想從字符串中提取電子郵件地址和用戶名。
string pattern1 = "Peter Jackson<peter@jackson.com>";
從該字符串中,我想獲取“ Peter Jackson”和“ <peter@jackson.com>”。
string pattern2 = "Peter Jackson(peter@jackson.com)";
但是,人們總是會犯如下錯誤。
他們還可以使用“ [”代替“ <”。 所以...
string pattern3 = "Peter Jackson[peter@jackson.com]";
甚至有些愚蠢的用戶也可以輸入...
string pattern4 = "Peter Jackson{peter@jackson.com}";
所以,我不得不尋找“ <”,“(”,“ [”和“ {”這些字符。
string regularExpressionPattern = @"^(<|(|[|{)(.*?)^(}|]|)|>)";
但是我想我做錯了什么。 而且我還試圖認為人們可以輸入更多的錯誤,例如...。
string pattern5 = "Peter Jackson<peter@jackson.com>mistake";
誰能解決這個問題? 先進的謝謝。
PS:我知道如何用字符分割字符串。 因此它無濟於事。 我需要正確的正則表達式。
我相信您要查找的正則表達式如下:
(.*?)[<([{](.*?)[>)\]}]
您需要組1和組2。
(.*?)[([<{](.*?)[)\]>}]
我相信這應該足夠了。
該名稱將在第一個捕獲的組中,電子郵件將在第二個捕獲的組中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.