Regex для проверки строки - PullRequest
       14

Regex для проверки строки

0 голосов
/ 06 октября 2009

Я пытаюсь проверить строку и затем извлечь все переменные, которые начинаются с @. Я не могу найти подходящее регулярное выражение для проверки строки. Строка может начинаться с @ или ", а если она начинается с ", то должна иметь соответствующую пару ".

Пример 1:

"ip : "+@value1+"."+@value2+"."+@value3+"."+@value4

Пример 2:

@nameParameter "@yahoo.com"

Спасибо

Ответы [ 3 ]

1 голос
/ 06 октября 2009

Вероятно, было бы проще сначала разбить строку на каждую строку в кавычках, а затем проверить части без кавычек на @. Например, все строки в кавычках могут быть: /"[^"]*"/, вызов Regex.Split для вашей строки вернет массив строк не заключенных в кавычки частей, которые вы затем можете использовать с помощью выражения /@\w+/, чтобы найти любые @.

0 голосов
/ 07 октября 2009

Чтобы проверить строки, которые вы указали в своем сообщении:

(^ ( "[^" \ г \ п] "\ s + @ [\ ш.] + \ С * +) +?) | (((^ @ [\ Ш. ] +) | ( "@ [\ ш] +.")) \ S *) +

0 голосов
/ 06 октября 2009

Попробуйте это:


string text = "@nameParameter \"@yahoo.com\"";
Regex variables = new Regex(@"(?<!"")@\w+", RegexOptions.Compiled);
foreach (Match match in variables.Matches(text))
{
    Console.WriteLine(match.Value);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...