Я пытаюсь создать регулярное выражение, соответствующее этой потребности:
"a" < Match group 1
"b" < Match group 3
"a-b" < Match group 1, 2 and 3
"-" < No match
"ab" < No match
Я пытался создать что-то вроде (a?)(-b?)
, но, очевидно, это не работает так, как я хочу.
Редактировать:
Используя реальный пример, чтобы объяснить лучше:
Regex Я пытался использовать: /remind (me|him)? about (this|that)?/gm
Text | Should match?
"remind me" | Yes
"remind me about this" | Yes
"remind me about that" | Yes
"remind me about error" | No
"remind him about this" | Yes
"remind about" | NO
"remind this" | Yes
"remind error" | No
"remind me" | Yes
Редактировать объясняя причину:
Мне нужно это регулярное выражение, чтобы разделить данные по полям, например "Кто будет напоминать?"«Что такое текст напоминания?»
remind me about this
Человек: я
Вещь: это
remind me
Человек: я
Вещь: отсутствует
remind that
Персона: отсутствует
Вещь: что
remind me this
Ошибка
remind about this
Ошибка