У меня есть строка, которая имеет разделитель, такой как «|»Regex: Полное совпадение для строки, разделенной разделителем
e.g. "South NY, US | South-East NY, US| North NY, US"
примечание: пространство вокруг трубы с обеих сторон может отображаться или не отображаться.
Я пытался использовать .Contains(), чтобы соответствовать заданной строке, но она также соответствует случай, как «Восточный Нью-Йорк, США»
я получил небольшую функцию (в Java), чтобы соответствовать строка поиска, но она неэффективна.
boolean fullmatch (String search, String text) {
String[] split = text.split ("\\|");
for (int i = 0; i < split.length; i++) {
if (split[i].trim().equals (search)) {
return true;
}
}
return false;
}
Каким будет эквивалентное регулярное выражение для этого? Спасибо
Дополнительно: Что было бы эквивалентным регулярным выражением в SQL тоже? (Стараясь не вытащить большое количество данных для сравнения в Java)
Это не будет очень эффективно, так как 'matches' будет иметь возможность перебирать весь текст, даже если он найдет правильный элемент в начале его. – Pshemo
@Pshemo Я полагаю, вы имеете в виду среднюю эффективность. Точка принята. – shmosel
Да, исправил мой комментарий :) – Pshemo