2012-06-02 3 views
3

Почему это регулярное выражение не работает для строки «Array a»?Regex для строк, начинающихся с букв/_ и (возможно) следующих букв/цифр/_

let mutable line = "Array a" 
let regexIdentifier = new Regex("^[a-zA-Z_][a-zA-Z0-9_]*$") 
line <- regexIdentifier.Replace(line, "\r\n$&\r\n") //KEYWORDS separation 
Console.WriteLine(line) 

(Я хочу, чтобы программа, чтобы отделить как «массив» и «а» к разным линиям)

ответ

0

Эта модель отделить "массиву" в двух различных матчей

string rPattern = @"\b[A-Za-z_][A-Za-z_0-9]+\b"; 

работает также для строки, как

"Exam_ple1 a9" 
  • \b ограничивает шаблон на границах слов. (это возвращает два совпадения для текста ввода, если у вас имеется более одного пробела)
  • Первый символ должен быть из диапазонов A-Za-z или подчеркивания (а не цифр).
  • Следующие символы должны быть из диапазонов A-Za-z0-9 или подчеркивания.
1

пробельных в "Array a" ISNT совпадают.

Лучше использовать регулярное выражение как "^[\w_]+ [\w_]+$"

0

^означает верхнюю линию
$ означать конец строки
^ [A-Za-Z _] [A-Za-Z0-9 _] * $ означает, вид сверху конец

использования @ "[a-zA-Z_] [a-zA-Z0-9 _] *"

Смежные вопросы