Хотя я прочитал большое количество сообщений по этой теме (в частности, используя поисковые запросы), я не понял, может ли этот более общий случай быть разрешен с использованием регулярных выражений.java regex: отрицание совпадения
установки:
1) вход регулярное выражение передается в
2) вход регулярное выражение встроен в отрицательного регулярное выражение так, что
3) все, что не идентифицируется входным регулярное выражение сопоставляется
Пример:
дано:
input regex: "[-//s]";
и
text: "self-service restaurant"
Я хочу отрицательное регулярное выражение, в котором встраивать мой вход регулярное выражение, так что я могу соответствовать мой текст:
"self", "service", "restaurant"
Важно отметить, что отрицательное регулярное выражение должно также могут соответствовать простой строке, например:
"restaurant"
Обратите внимание, что я хочу сделать, может быть достигнуто изменением входного регулярное выражение из
"[-//s]"
в
"[^-//s]"
Тем не менее, я после того, как более общий подход, при котором любое регулярное выражение может быть переходит в отрицательное регулярное выражение.
попробовать '[^ - \\ s] +'.Используйте то же самое для всех. –
Похоже, вы хотите «разбить» вашу строку на переданном регулярном выражении (вы можете просто захотеть окружить переданное регулярное выражение '(?: UserRegex) +', чтобы избежать пустых результатов, таких как «fo-o» .split («- "), где результат будет" ["fo", "", "o"] '). – Pshemo
'String myRegex =" [^ "+" yourRegexHere "' может сделать трюк, если я правильно понял ваш вопрос. – JonasCz