2017-10-31 17 views
0

[^\b]. 사이에 차이가 있습니까?`[^ b]`와`.`의 차이점은 무엇입니까?

나는이 단어없는 경계 문자 클래스 ([^\b])가 포함 된 다른 누군가가 작성한 일부 코드를 수정하고있었습니다. 와일드 카드 . (이것은 루비에 있음)과 차이점을 찾을 수 없습니다.

내 가정이였습니다 [^\b]+ 단어가있는 곳이기 때문에 경계.

내 관찰 그냥 모든 일치하는 것이다 (hello과 일치 공간하기 전에 중지해야 문자열 hello world에 적용 할 때. rubular link. 여기 일이되어야한다 무엇

?

+0

없음 제로 폭 주장은 문자 클래스 내에서 그 의미를 잃게됩니다. [이 Ruby 데모] (https://ideone.com/54MTLn)를 참조하십시오. '[^ \ b]'는 모든 char하지만 백 스페이스 char와 일치합니다. –

+0

어쩌면 당신은'\ B'를 찾고 있습니까? '\ b'의 반대쪽 – ctwheels

+0

'hello'를 원하면'[a-z] +'를 사용하십시오. – ctwheels

답변

2

[\b]은 백 스페이스와 [^\b]하지 백 스페이스를 의미

\b은 문자가 아니며 문자 클래스에 포함될 수 없습니다.

단어 경계의 부정 \B

+0

Backspace? 무슨 소리 야? –

+1

@SergioTulentsev : 문자 백 스페이스, 8 진수 '010'또는 10 진수 '8' – Toto

+0

나는 저주받을 것입니다. 경사 –