정규 표현식에 ":"( "콜론")을 입력하는 방법은 무엇입니까?
:
( "콜론")은 정규 표현식에서 특별한 의미를 갖지만 [A-Za-z0-9.,-:]*
. 나는 그것을 피하려고 시도했지만 작동하지 않습니다[A-Za-z0-9.,-\:]*
대부분의 정규식 구현 (Java 포함)에서 :
문자 클래스 내부 나 외부에서 특별한 의미가 없습니다.
문제는 -
클래스에서 범위 연산자 역할을 한다는 사실 때문일 가능성이 큽니다 .
[A-Za-z0-9.,-:]*
어디 ,-:
사이의 모든 ASCII 문자와 일치 ','
하고 ':'
. ':'
그러나 여전히 리터럴과 일치합니다 !
대신 이것을 시도하십시오.
[A-Za-z0-9.,:-]*
-
클래스의 시작 또는 끝에 배치 하면 리터럴과 일치합니다 "-"
. Keoki Zee의 댓글에서 언급했듯이 -
클래스 내부에서 탈출 할 수도 있지만 대부분의 사람들은 단순히 끝에 추가합니다.
데모 :
public class Test {
public static void main(String[] args) {
System.out.println("8:".matches("[,-:]+")); // true: '8' is in the range ','..':'
System.out.println("8:".matches("[,:-]+")); // false: '8' does not match ',' or ':' or '-'
System.out.println(",,-,:,:".matches("[,:-]+")); // true: all chars match ',' or ':' or '-'
}
}
조심하세요 -
. regexp에는 특별한 의미가 있습니다. A의 []
, 당신은 문제없이 넣을 수 있습니다 그것이 끝 부분에 배치되는 경우 . 귀하의 경우, ,-:
같은 촬영 에서 ,
에:
.
콜론은 문자 클래스에서 특별한 의미가 없으며 이스케이프 할 필요가 없습니다. PHP 정규식 문서 에 따르면 문자 클래스에서 이스케이프해야하는 유일한 문자는 다음과 같습니다.
이외의 모든 영숫자가 아닌 문자
\
,-
,^
(시작시)과 종료는]
문자 클래스에서 특별한 의미를 가지지 않지만, 그러나 그들은 탈출하는 경우는 전혀 해를 끼치하지 않습니다.
Java 정규식에 대한 자세한 정보 는 문서를 참조하십시오 .
.. \\:
대신 사용 은 자바 문자열에서 특별한 의미를 갖습니다.\:
\
참고 URL : https://stackoverflow.com/questions/6579921/how-to-type-colon-in-regexp
'IT박스' 카테고리의 다른 글
phpMyAdmin을 보호하는 방법 (0) | 2020.12.08 |
---|---|
정적 생성자 란 무엇입니까? (0) | 2020.12.08 |
git reset --hard HEAD ^ 후 추가 된 파일 복구 (0) | 2020.12.07 |
테이블에 행이 있는지 여부 확인 SQL Server 2005 (0) | 2020.12.07 |
Javascript로 CKEditor에서 값을 어떻게 설정합니까? (0) | 2020.12.07 |