Скажите, что у меня есть текст
The quick brown fox jumps (over) the lazy dog
.Затем я хочу, чтобы мой шаблон RegEx возвращал, скажем, слово hello
(отсутствует в тексте) или любое слово в скобках, в данном случае over
.Таким образом, шаблон в виде:
/((hello)|(\([^\)]+\)))/
Однако я хочу, чтобы он возвращал один совпадение для этого.Это имело бы смысл только в том случае, если бы оно было приоритетным.То есть:
- Если
hello
находится в этой строке, тогда $1
должно быть hello
. - Если
hello
отсутствует в тексте, вернуть все, что естьв скобках, если вы можете найти его.
Так что в
The quick brown fox jumps (over) the lazy dog
$1
должна содержать строку over
.И в
hello! The quick brown fox jumps (over) the lazy dog
* $1
должна содержать строку hello
.
https://regex101.com/r/H5bwKs/2
Есть ли способ сделать это в одном выражении?