RegEx поможет сопоставить операторов - PullRequest
3 голосов
/ 02 февраля 2010

Мне нужно сопоставить некоторые операторы: =,! =,>, <, <=,> = Строка, которую мне нужно сопоставить, может выглядеть примерно так: «2 = 2 ИЛИ 33> = 32 И 3 <5» </p>

Что может быть выражением RegEx, чтобы соответствовать этому, зная, что - Я не хочу получать совпадение «=» для оператора «<=» - Операторы могут иметь или не иметь пространство вокруг них </p>

Заранее спасибо! Alex

Ответы [ 5 ]

9 голосов
/ 02 февраля 2010

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

(<=|>=|!=|=|>|<)
4 голосов
/ 02 февраля 2010

Это похоже на работу:

[<>!]?=|[<>]

Требуется: <, > или ! до = (или просто =),
ИЛИ: < или > вкл.

Тем не менее, для большей сложности вам, вероятно, понадобится парсер (например, если вы хотите поддерживать скобки)

1 голос
/ 02 февраля 2010

[^?!><=]+\s*(?<operator>[><!]?=|[><])\s*[^?!><=]+ + ExplicitCapture

фильтры >> или === или == ==

1 голос
/ 02 февраля 2010

Мое предложение: [<>]=?|[!=]?=. Соответствует любому из = != > < <= >= ==.

0 голосов
/ 02 февраля 2010

Вы тоже пытаетесь получить цифры? Если так.,.

/[0-9]+[ ]*(<=|>=|!=|=|>|<)[ ]*[0-9]+/

... что-нибудь в диапазоне 0-9 один или несколько раз, за ​​которым следует 0 или более пробелов, за которыми следует ваш оператор, 0 или более пробелов и что-нибудь в диапазоне 0-9один или несколько раз.

Получит номер и оператор

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