의 특정 순서에 맞게 = '단어 1', 'word2', 'word3'] 위치 2 = 'word4', '단어 1'] position1정규식은 I 문자열 2 배열을 가정 문자열
텍스트에 존재하는 하위 문자열 # {target} 뒤에 position1 중 하나 또는 position2 또는 둘 다 같은 단어가 오는 지 확인하려면 텍스트/문자열 내부에 넣고 싶습니다. 시각. 마찬가지로 # {target}의 왼쪽과 오른쪽을보고있는 것과 같습니다.
문장의 예를 들어 "보고서를 작성 및 집행 및 이민 서류와 관련하여 내부 시스템 상에 데이터를 입력"대상 단어가 데이터 경우 나는 단어가 남아있는 경우 (입력) 확인 싶습니다 들어 오른쪽 (에)는 배열에 포함되거나 배열의 단어 중 하나가 정규식 일치에 대해 true를 반환하는 경우 어떤 제안? 내가 루비를 사용하고 일부 정규식을 시도했지만 아직 작동하지 않을 수 있습니다. 그 사이의 잠재적 인 특수 문자도 무시해야합니다. 그 중
하나 :
/^.*\b(#{joined_position1})\b.*$[\s,.:-_]*\b#{target}\b[\s,.:-_\\\/]*^.*\b(#{joined_position2})\b.*$/i
편집 :
(\S+)\s*#{target}\s*(\S+)
그러나 나는 경우 무엇을 변경할 수 있습니다 : 나는 왼쪽과 오른쪽 단어를 캡처하는 정규식이 방법을 생각
왼쪽 및 오른쪽으로 한 단어 이상을 포착하고 싶습니까?
답장을 보내 주셔서 감사합니다. 나는 그것이 NoMethodError를 던지는 이유를 이해하지 못한다 : 정의되지 않은 메쏘드'[] 'for nil : 텍스트가 일치해야하지만 일치하는 NilClass – Vas
타겟 텍스트가 발견되지 않으면 충돌하지 않도록 업데이트했다. –
감사합니다. 정규식 대신 2 개 이상의 인접 단어를 포함 할 수 있습니까? – Vas