수색…


통사론

  • POSIX 스타일, 단어 끝 : [[:>:]]
  • POSIX 스타일, 단어 시작 : [[:<:]]
  • POSIX 스타일, 단어 경계 : [[:<:][:>:]]
  • SVR4 / GNU, 단어 끝 : \>
  • SVR4 / GNU, 단어 시작 : \<
  • Perl / GNU, 단어 경계 : \b
  • Tcl, 단어 끝 : \M
  • Tcl, 단어 시작 : \m
  • Tcl, 단어 경계 : \y
  • 휴대용 ERE, 단어 시작 : (^|[^[:alnum:]_])
  • 휴대용 ERE, 단어 끝 : ([^[:alnum:]_]|$)

비고

추가 리소스

단어 일치

\bfoo\b

어떤 숫자와 함께 전체 단어 일치 _ 이전 또는 그것에 의해 다음.

regularexpression.info 에서 가져 오기

단어 경계로 분류되는 세 가지 위치가 있습니다.

  1. 캐릭터 라인의 최초의 캐릭터의 전에, 최초의 캐릭터가 단어 캐릭터 인 경우.
  2. 문자열의 마지막 문자 다음에 마지막 문자가 단어 문자 인 경우.
  3. 문자열에서 두 문자 사이에 하나는 단어 문자이고 다른 문자는 단어 문자가 아닙니다.

여기서 단어 라는 단어 는 다음 중 하나를 의미합니다.

  1. 알파벳 ( [a-zA-Z] )
  2. 번호 ( [0-9] )
  3. 밑줄 _

즉, 단어 문자 = \w = [a-zA-Z0-9_]

단어의 시작 또는 끝 부분에서 패턴을 찾습니다.

다음 문자열을 검사하십시오.

foobarfoo
bar
foobar
barfoo
  • 정규 표현 bar 는 4 개의 모든 캐릭터 라인을 매치합니다.
  • \bbar\b 는 두 번째,
  • bar\b 는 두 번째 및 세 번째 문자열을 일치시킬 수 있습니다.
  • \bbar 는 두 번째와 네 번째 문자열과 일치합니다.

단어 경계

\b 메타 문자

전체 단어를 더 쉽게 찾을 수 있도록 메타 문자 \b 사용할 수 있습니다. 영숫자 시퀀스 *의 시작 을 표시합니다. 또한이 위치를 표시하는 역할 만하기 때문에 실제로는 아무 문자도 찾지 않습니다.

* : 영숫자 시퀀스를 단어로 부르는 것은 일반적으로 \w (단어 문자 class)로 문자를 잡을 수 있기 때문에 한 단어를 호출하는 것입니다. 그러나 \w 에는 숫자가 포함되어 있고 대부분의 기호에는 밑줄이 있기 때문에 오해의 소지가 있습니다.

예 :

정규식 입력 성냥?
\bstack\b stackoverflow 아니 , 전체 단어 stack 의 발생이 없으므로
\bstack\b foo stack bar , stack 전후에 아무 것도 없으므로
\bstack\b stack!overflow : stack 전에는 아무 것도 없습니다 ! 단어 문자가 아니다.
\bstack stackoverflow , stack 전에는 아무것도 없으므로
overflow\b stackoverflow , overflow 후 아무 것도 없기 때문에

\B 메타 문자

이것은 \b 와 반대이며 모든 경계가 아닌 문자의 위치와 일치합니다. \b 와 마찬가지로 위치와 일치하므로 문자 자체와 일치하지 않습니다. 전체 단어를 찾는 데 유용합니다.

예 :

정규식 입력 성냥?
\Bb\B abc , b 는 단어 경계로 둘러싸여 있지 않기 때문에 그렇습니다 .
\Ba\B abc 아니 , a 는 왼쪽에 단어 경계가 있습니다.
a\B abc 예, a 우측으로 단어 경계가 없습니다.
\B,\B a,,,b , 두 번째 쉼표와 일치합니다. \B 는 두 단어가 아닌 문자 사이의 공백과 일치 하기 때문입니다. 첫 번째 쉼표의 왼쪽과 두 번째 쉼표의 왼쪽에 단어 경계가 있다는 점에 유의해야합니다.

텍스트를 짧게 만들지 만 마지막 단어를 깨지 마십시오.

긴 N 개의 문자를 긴 문자로 만들지 만 마지막 단어는 그대로 두는 것이 좋습니다 .{0,N}\b pattern :

^(.{0,N})\b.*


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow