2015-07-21 3 views
0

Я пытаюсь проверить предложение. Он начинается с алфавитов, содержит числа и специальные символы, такие как '-,() и может заканчиваться: или. Я пытаюсь найти выражение, которое может соответствовать следующему шаблону.Подтвердить предложение или абзац

  I'm trying to-achieve such(this), kind of pattern: 

Я попытался с помощью^[A-Za-Z] + ([ «/ -] {0,1} + ([()] {0,1} [,] {0,1}) + [a-zA-Z0-9.] + [:] ??) + $, но сталкиваемся с проблемой при получении ',' после закрытия ')', за которым следует пробел.

Может кто-то, пожалуйста, помогите мне. Благодаря

+0

У вас есть один неубежденный caracter '/' – Cyrbil

+0

Я включил \ перед /. но он не отображается – Sri

+0

Да, я просто испытываю это при комментировании :) просто удвоить его – Cyrbil

ответ

2

Давайте удостоверимся, я понимаю, что вы собираетесь:

  1. Ваше регулярное выражение будет соответствовать все предложение, а это означает любая строка, которая начинается с буквы алфавита и заканчивается двоеточием или период.
  2. Это предложение может содержать числа и специальные символы; действительно любой символ , за исключением двоеточия или периода,, который будет сигнализировать о конце предложения.

Если это так, то все, что вам нужно это:

^[A-Za-z][^\.:]*[\.:]$

^ соответствует началу строки.

[A-Za-z] соответствует любой букве алфавита, верхнего или нижнего регистра.

[^\.:]* соответствует 0 или более символам любого вида, если они не являются двоеточием или периодом.

[\.:] соответствует толстой кишке или периоду.

$ соответствует концу строки.

Это будет работать только в том случае, если строка, которую вы соответствуете, является предложением и ничего больше. Чтобы соответствовать предложению, которое является частью большей строки, попробуйте удалить ^ в начале и $ в конце и использовать тег /g (несколько совпадений), если он соответствует вашим потребностям.

+0

Хорошая работа, +1, но я не думайте, что ОП осознает, что это связано с его заявленным требованием. – sln

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