2015-01-15 5 views
0

대문자 'K'가 포함되지 않은 행을 일치시켜야합니다. 'K'문자는 줄을 시작할 수 있고 중간에 있거나 마지막 문자 다음에 올 수 있습니다. 나는 부정적인 look-ahead를 시도했지만 K가 라인을 시작할 때 실패 할 것 같습니다.특정 문자를 포함하지 않는 행 일치

나는이 라인을 유지하려는 :/비 중복 J

Coronograph H 밴드/Y 직접을하지만, 나는이 선 제외 할 :

를 ' 관측 측정기 K1- 대역/K2 직접/비 중복 K2 '

python regex engine과 JavaScript regex engine에서 모두 작동해야하므로 look-behind 표현식을 사용할 수 없습니다.

.*[^K]+ 또는 .*[^K].*과 같은 것을 시도해도 그 줄에 'K'가 계속 표시됩니다.

저는 this question에서 얻을 수 있습니다. 왜 나는 단지 [^K]이라고 말할 수는 없으며 끝내야합니다. 그러나 내 'K'가 시작하는 성격을 갖거나 갖지 않을 수도 있기 때문에, 나는 진행하는 방법에 대해 혼란스러워합니다. .[^K] 또는 .*[^K]이라고 말하면 'K2 Direct'와 계속 일치합니다. [^K]. 또는 [^K].*이라고 말하면 'K'가 줄을 시작하지 않는 줄과 일치합니다.

어쩌면 나는 여기에서 빨대를 쥐고 ​​있지만, 아마도 'K'는 '1'또는 '2'로 이어질 것입니다. [^K][^12]과 같은 것을 할 수 있을까요? 하지만 다시 말하지만, 나는 어떤 종류의 접두사/접미사를 줄 때 그 줄이 가변적 인 지와 일치하도록 난처한 입장에 처해있다.

+0

'/ (?! K) /'는 찾고있는 해결책입니다. 훨씬 덜 유연한 것은'/^[^ k] + $ /' –

답변

0

정규식 : ^[^K]*$ (Python 및 javascript 용).

이 정규식은 라인 $의 끝까지 대문자가 아닌 K 만 포함하는 행 (^)과 유사합니다.

+0

입니다. 정규 표현식이어야합니다. – thestarsatnight

+0

정규식의 정의는 무엇입니까? 어떤 연산자가 허용됩니까? 정규 표현식에는 많은 종류가 있습니다. – ShellFish

+0

나는 JavaScript와 python에 대해 질문한다. 두 가지 다른 구문을 사용할 수 있습니다. 내 파이썬 코드는 자바 스크립트 정규 표현식을 가져 와서 파이썬 정규 표현식으로 바꾼다. 그러나 저는이 두 가지를 미친 듯이 바꾸지 않고서도 그것들을 비슷하게 유지하고 싶습니다. – thestarsatnight

관련 문제