Регекс с необычными персонажами - PullRequest
1 голос
/ 27 апреля 2009

Я пытаюсь найти какое-нибудь регулярное выражение для обработки знака #.

Пример, # PRODUCT_143 #

Если входные данные были # PRODUCT_143, регулярное выражение #PRODUCT_(\d*$) совпадает и возвращает 143 как совпадение. Но добавление символа # в конец ввода и регулярного выражения приводит к его разрыву. что мне нужно сделать здесь, чтобы это соответствовало?

Ответы [ 4 ]

4 голосов
/ 27 апреля 2009

Если вы попытались #PRODUCT_(\d*$)#, неудивительно, что он не нашел соответствия. Поскольку $ уже отмечает конец строки, а # после него никогда не будет сопоставлено.

Попробуйте вместо этого:

#PRODUCT_(\d*)#$
1 голос
/ 27 апреля 2009

$, вероятно, совпадает с концом строки, поэтому ваш лишний # сбивает с толку:

#PRODUCT_(\d*)#$
1 голос
/ 27 апреля 2009

Вы просто забыли убрать $ из круглых скобок?

    ^#PRODUCT_([0-9]*)#$

Обратите внимание на добавленное ^ - возможно, оно не подходит для вашего ввода.

1 голос
/ 27 апреля 2009

Это ничего не должно сломать, может быть, вы забыли переместить $ в регулярном выражении, что означает конец строки? Это регулярное выражение должно быть хорошо:

#PRODUCT_(\d*)#$

(я не уверен, почему вы захватили конец строки в своем исходном регулярном выражении).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...