development

특정 길이의 단어와 일치하는 정규식

big-blog 2021. 1. 10. 19:50
반응형

특정 길이의 단어와 일치하는 정규식


단어가 최대 길이를 갖도록 단어와 일치하는 정규식을 알고 싶습니다. 예를 들어, 단어의 길이가 최대 10자인 경우 정규식을 일치시키고 싶지만 길이가 10을 초과하면 정규식이 일치하지 않아야합니다.

나는 시도했다

^(\w{10})$

하지만 단어의 최소 길이가 10자인 경우에만 일치합니다. 단어가 10 자 이상이면 여전히 일치하지만 처음 10 자만 일치합니다.


나는 당신이 원하는 것 같아요 \w{1,10}\b. \b단어 경계와 일치합니다.

물론 \b및을 대체 할 수도 있습니다 ^\w{1,10}$. 이것은 문자열의 유일한 내용 인 한 최대 10 자의 단어와 일치합니다. 나는 이것이 당신이 전에했던 일이라고 생각합니다.

Java이기 때문에 실제로 백 슬래시를 이스케이프해야합니다 : "\\w{1,10}\\b". 당신은 아마 이것을 이미 알고 있었을 것입니다. 그러나 그것은 전에 저를 얻었습니다.


^\w{0,10}$ # allows words of up to 10 characters.
^\w{5,}$   # allows words of more than 4 characters.
^\w{5,10}$ # allows words of between 5 and 10 characters.

일치시킬 문자의 길이입니다.

{n,m}  n <= length <= m
{n}    length == n
{n,}   length >= n

그리고 기본적으로 엔진은이 패턴과 일치하기 위해 탐욕 스럽습니다. 예를 들어 입력이 123456789이면 \ d {2,5}는 길이가 5 인 12345와 일치합니다.

길이 2가 일치 할 때 엔진이 반환되도록하려면 \ d {2,5}?


심지어 동일한 정규식을 찾고 있었지만 모든 특수 문자와 공백도 포함하고 싶었습니다. 그래서 여기에 대한 정규식이 있습니다.

^[A-Za-z0-9\s$&+,:;=?@#|'<>.^*()%!-]{0,10}$

참조 URL : https://stackoverflow.com/questions/9043820/regex-to-match-words-of-a-certain-length

반응형