#regex
#регулярное выражение
Вопрос:
У меня есть строка, что-то вроде «[aaa] [vad] [adf]», я хотел бы использовать регулярное выражение для записи данных в[], а символы в [] могут быть символом и числом и не иметь ограничения по длине. Я новичок в регулярных выражениях, кто-нибудь может мне помочь в этом? Спасибо.
Комментарии:
1. Я рекомендую вам взглянуть на шпаргалку по регулярным выражениям, чтобы получить основную идею ( bit.ly/rQ7m9b ). Предпочтительно, чтобы вы могли задать свой вопрос с помощью выражений, которые вы пробовали, но не смогли заставить работать.
Ответ №1:
Вы можете попробовать что-то вроде этого:
var data = "[asd][dfhg][asfsa243]";
var re = new Regex(@"[([^]]*)]");
var matches = re.Matches(data);
for (int i = 0; i < matches.Count; i )
{
var m = matches[i];
Console.WriteLine(m.Groups[1]);
}
Console.ReadLine();
Это выводит:
asd
dfhg
asfsa243
Регулярное выражение [([^]]*)]
соответствует нулю или более вхождений символа, который не является ]
символом и который находится между парой квадратных скобок ( [
и ]
)
Ответ №2:
Это регулярное выражение может сработать для вас:
[(w )]
Это, если вы char
ссылаетесь на word character
Ответ №3:
Вот мое предложение:
[(w )]
Символ будет предоставлен в первой группе соответствия, вот так:
var regex = new Regex(@"[([wd]*)]");
MatchCollection matchCollection = regex.Matches(stringToTest);
foreach (Match match in matchCollection)
{
Debug.Print(match.Groups[0].Value);
}
Ответ №4:
Вот несколько хороших ресурсов для построения регулярных выражений http://www.regexlib.com http://regexpal.com/
Вот регулярное выражение для буквенно-цифрового:
^[a-zA-Z0-9] $
Вот как убедиться, что существует 3:
/^([a-zA-Z0-9]){3}$/
Ответ №5:
Вы могли бы попробовать —
[^[]W]
var matches = System.Text.RegularExpressions.Regex.Matches("[aaa][vad][adf]",@"[^[]W] ").Cast<Match>().Select(m => m.Value);
Это должно игнорировать любые символы ‘[‘, ‘]’ и не-word и возвращать ‘aaa’, ‘vad’ и ‘adf’ из строки вашего примера.
Комментарии:
1. Есть ли причина для снижения? Похоже, у меня работает приведенный пример.