Мне нужно сопоставить строки, которые не содержат заглавной буквы «K». Символ «K» может начинать линию, может быть посередине или может быть последним символом. Я пробовал как негативный взгляд вперед, но это, похоже, терпит неудачу, когда «K» начинает линию.Строки совпадения, которые не содержат определенного символа
Я хочу, чтобы эти строки:
коронографом H-группа/Y Прямой/Non-Redundant J
Но я хочу, чтобы исключить эти строки:
' Коронография K1-полоса/K2 Прямая/не избыточная K2 '
Мне нужно, чтобы он работал как в механизме regex python, так и в ядре JavaScript regex, поэтому я не могу использовать выражения look-behind.
Когда я пробую такие вещи, как .*[^K]+
, или .*[^K].*
, он по-прежнему соответствует линиям с «K» в них.
Я получаю от this question, почему я не могу просто сказать [^K]
и покончить с этим. Но поскольку у моего «К» может быть или не может быть персонаж, я смущен тем, как действовать. Если я скажу .[^K]
, или .*[^K]
, он по-прежнему будет соответствовать «K2 Direct». Если я скажу [^K].
или [^K].*
, он будет соответствовать линиям, где «K» не запускает линию.
Возможно, я хватаюсь за соломинку здесь, но в моем списке «K» будет либо «1», либо «2». Могу ли я сделать что-то вроде [^K][^12]
? Но опять же, я все еще в тупике о том, какой префикс/суффикс нужно поставить, чтобы соответствовать его переменной позиции в строке.
'/ (?! K) /' это решение, которое вы ищете. Менее гибким будет '/^[^ k] + $ /' –