Я работаю над сопоставлением с образцом в строке сообщений для символа *
. Чтобы я мог определить любую подстроку между двумя *
символами.
Я могу сделать это, используя приведенное ниже регулярное выражение
[*]((?s).*?)[*]
Это регулярное выражение возвращает мне все ожидаемое Результаты, которые я хотел получить, кроме этого, также учитывают пару *
, если два символа *
вместе (например: Test**ing
).
Мне нужно избегать этого случая при сопоставлении с шаблоном.
В любом случае, я могу добавить некоторое условие, пока регулярное выражение совпадает, если за *
символом следует другой *, тогда игнорировать это совпадение и возвращать совпадение, только если два символа *
имеют другой символ / символы между ними.
Например:
**test
-> Это не должно возвращать никакого совпадения
***test*
-> Оно должно возвращаться * test *
***testing* message *additional*
-> Должен вернуться * test * и * дополнительные *
Дайте мне знать, если что-то неясно.