Мне нужно создать шаблон регулярного выражения, который гарантирует, что две подстроки одной и той же строки равны.
Т.е.
someString#MY_STRING#someString#MY_STRING#someString#
Я пробовал варианты формы:
+?#MY_STRING#+?#MY_STRING#+?#
Но как это сделать для динамических значений MY_STRING ?
3 ответа
^[^#]*#([^#]*)#[^#]*#\1.*$
Попробуйте это. См. Демонстрацию.
http://regex101.com/r/dZ1vT6/16
Это помогает? поймать группу1
[^#]*#([^#]*)#
http://regex101.com/r/iO4uL8/1
Если вы просто хотите проверить строку, две «my_string» должны появиться в строке в определенном формате:
^[^#]*(#[^#]*#)[^#]+\1.*$
Попробуйте этот код .. с этим Регулярным выражением ((?: [A-z] [a-z] +))
Похожие вопросы
Связанные вопросы
Новые вопросы
c++
C++ — это язык программирования общего назначения. Изначально он разрабатывался как расширение C и имел аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде, который будет скомпилирован с помощью компилятора C++. Используйте тег версии для вопросов, связанных с конкретной стандартной версией [C++11], [C++14], [C++17], [C++20] или [C++23]. и т.д.
MY_STRING
является динамическим, я предполагаю, что он находится в переменной? Вам нужно будет динамически определить регулярное выражение, которое зависит от языка/среды.std::regex
,boost::regex
, другое?