2014-12-23 2 views
1

집합 단어 "hotel"로 시작하는 문자열, 그 다음 하이픈, 길이가 다른 단어, 그리고 다른 하이픈과 마지막으로 임의의 길이의 숫자를 일치 시키려고합니다. .Java Regex - 문자열 내 특정 문자열 찾기

편집 : 디마는이 질문에 대한 답을 얻기 위해 해결책을 제시했습니다. 고마워 디마. 숫자 만 허용하도록 마지막 비트를, 디마의 대답에 정성 들여 쉽게 정보를 입력 검색 할 만드는 캡처 그룹을 추가 및 수정 :

또한 편집

^hotel-(.+)-(\d+)

+2

"hotel-something"의 문제점은 무엇입니까? 왜 그게 좋지 않아? –

+1

다음과 같을 수도 있습니다 :'^ hotel -. + -. +'또는 이에 상응하는'^ hotel (-. +) {2,} – Dima

+0

다른 사람들에게 유용 할 수 있도록 원래의 질문을 보관하십시오. –

답변

1

일치시킬 경우 입력이 시작되면 ^을 사용합니다.

^hotel-\b이있는 경우 hotel이 문자열의 시작 부분에 있어야합니다.

메모로 비슷한 방법으로 문자열 끝에 $을 사용할 수 있습니다.

2
^hotel-(.)*$ 

은 (그러나 호텔 - 뭔가가 작동 - 또는 공백하지만 아무것도 의미가 워드 boundery

[^\s-]해야한다는 것을 의미하여 초기 진술). 실제로 같은 것을 원하는 경우

그래서 :

hotel-XXXXXX-YYYYYYY 

을 다음 정규식은 다음과 같습니다

^hotel-(.)*-(.)*$ 

http://www.regextester.com/ 같은 정규식 온라인 테스터를 사용해보십시오.

관련 문제