2012-04-06 4 views
0

그래서 정규식을 처음 사용하고 이해하기가 어려워요. 젖은 발을 축축하게하기 위해 나는 날짜를 대시 또는 슬래쉬로 구분하는 것을 만들었다. 그것은 다음과 같습니다정규식을 사용하여 특정 간단한 문자열 찾기

\d{1,2}[-/]\d{1,2}[-/](\d{4}|\d{2}) 

나는 가설이 날짜로 32-96-2012을 받아 들일하지만 괜찮아요 있기 때문에 100 % 정확 알고 있습니다. 이것은 숙제 나 일을 위해서가 아니기 때문에 필요하지는 않습니다. 단순한 정규식을 이해하고 싶습니다.

이제 특정 단어를 검색하는 방법을 알고 싶습니다. 매우 혼란 스럽습니다. 예를 들어, 텍스트 문서에서 "soap"또는 "Tom"을 검색하려고합니다. 누구든지 간단한 예제와 설명을 게시 할 수 있다면 감사하게 생각합니다!

+0

질문의 첫 번째 부분 (re : dates)은 두 번째 부분과 어떤 관련이 있습니까? 지금까지 뭐 해봤 어? –

답변

2

간단한/soap/또는/Tom/할 것입니다.
자세한 내용 http://www.codeproject.com/Articles/9099/The-30-Minute-Regex-Tutorial

+0

이해하기 쉬운 예제를 찾는 데 어려움을 겪고 있었지만이 웹 사이트는 훌륭합니다. 질문을 마친 후 몇 분 만에 찾았습니다. http://www.gskinner.com/RegExr/ 나는 바보가되어 이것을 대답하겠다고 생각합니다 :) – iaacp

1

정규 표현식은 가능한 한 읽기 쉽도록 만들어졌습니다 (믿거 나 말거나). 따라서 단어가 비누 인 텍스트 문서를 검색하려면 정규 표현식이 "soap"입니다.

비누 나 톰을 원한다면 (? : soap | Tom)이됩니다. (? :) 인클로저는 (? :) 인클로저의 내용을 미니 정규 표현식으로 처리하는 것을 의미합니다. | 문자는 또는 연산자입니다. 왼쪽에있는 문자는 무엇이든간에 또는을 의미합니다. 그래서 (? : soap | Tom) 단어는 비누 또는 Tom이라는 단어를 찾는 것을 의미합니다.

왜 비누 대신 톰을 쓸 수 없었습니까? "비누 상자"또는 "톰 상자"를 찾고 싶다면 비누 | 톰 상자가 작동하지 않습니다. 이것은 비누 또는 톰 상자와 일치하지만 비누 상자와는 일치하지 않습니다.

처음에는 분명히 혼란 스럽지만 그룹핑을 찾고 실제로 무엇을 찾고 있는지 알기 위해 조각으로 구분하는 법을 배웁니다.

+0

그룹을 만들지 않으려면 '? :'이 필요하지 않습니다. - (비누 톰) 잘 작동합니다. 이것에 대한 귀하의 이해는 약간 떨어져 있습니다. – bluepnume

+0

@bluepnume, 왜 비누 나 톰을 잡을까요? 정보를 추출하는 경우 그룹을 캡처하는 것이 더 적합합니다. 단순히 발견하는 경우 비 캡처 그룹을 사용하는 것이 좋습니다. 게다가, 이것은 간단한 설명이며, 나는 그 차이를 알지 못한다면 포착 그룹을 가진 예제보다 더 빠른 포착 그룹이없는 예제를 제공한다고 가정 할 것입니다. – Neil

관련 문제