簡體   English   中英

如何在C#中使用正則表達式查找某些字符之間的字符串

[英]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。

(.*?)[([<{](.*?)[)\]>}]

我相信這應該足夠了。

該名稱將在第一個捕獲的組中,電子郵件將在第二個捕獲的組中。

似乎(.*)[<\\(\\[{](.*)[>\\)]}]對我有用。

名稱和電子郵件地址的分組。

http://regexr.com?33sq4是我的測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM