Проблема совпадения регулярных выражений в .Net - PullRequest
0 голосов
/ 13 июля 2009

Сейчас я несколько смущен, очевидно, довольно простым регулярным выражением, но сегодня, должно быть, нехватка кофеина или погода. По сути, у меня есть строка, которая может быть чем-то вроде 'sw' или 'ee' или 'n.a.'.

Теперь я хочу и нуждаюсь в regex.match, который возвращает мне '' в случае, если предоставленная строка 'n.a.', во всех других случаях я хочу '_' (подчеркивание + исходное значение). Это возможно?

Ответы [ 3 ]

0 голосов
/ 13 июля 2009

Вы можете использовать вызов Regex.Replace и использовать делегата оценщика совпадений. В основном:

return Regex.replace ("sw | ee | n \ .a \.", Match => match.Value == "na"? String.Empty: String.Format ("_ {0}", match. значение));

0 голосов
/ 13 июля 2009

Ваш вопрос может быть немного яснее, но, по сути, регулярное выражение

(неприменимо) | ([A-Z] +)

устанавливает две группы - первая совпадающая 'n.a.' а второй соответствует чему-либо с одним или несколькими строчными символами. Таким образом, вы можете сопоставить это регулярное выражение и посмотреть, не являются ли первая или вторая группа непустыми, - и добавить «_», если вторая группа получает удар.

0 голосов
/ 13 июля 2009

Следующее регулярное выражение будет только mstch ваши значения строки не 'n.a'.

^(?!n\.a).*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...