소스 문자열이 모든 것이 될 수 있으며 사용자가 제어 할 수없는 상황이 있습니다. 사용자는 소스 문자열을 원하는 결과 문자열을 얻고 자하는 것으로 바꾸기 위해 정규 표현식과 대체 값을 제공 할 수 있습니다. 문제는 사용자가 특정 대체품이있는 정규식 그룹을 제공 할 수 있어야한다는 것입니다.
예 : sourcestring = "1"이면 사용자는이를 "on"으로 바꾸지 만 동일하게 정규 표현식을 만들 수 있습니다 그 시간에 sourcestring = "2"가되면 "off"로 바뀌고 다른 것은 "N/A"로 바뀝니다. 코드에서 난 아마 뭔가를 할 것입니다 sourcestring.replace ("([1]) | ([2])", ($ 1.equals ("1"))? "on": ($ 2.equals ("2 ")?"off ":"N/A ")); 하지만 replace의 두 번째 피연산자는 사용자가 선택한 문자열이어야하며 이러한 조건을 포함 할 수도 있습니다. 이런 종류의 작업을 수행 할 수있는 방법이 있습니까?Regex 조건부 대체 Java에서하지만 정규식이 아닌 문자열을 바꿉니다.
2
A
답변
0
맞춤 표기를 설정할 수 있습니다.
사용자에게 캡처 그룹과 그룹 별 대체 값을 제공하게하십시오. 예 :
"안녕하세요, 세계, 안녕하세요?"
(Hello\W+World\W+)\s*(how\sare)\s*(you.*)
1 = Yo, man,
2 = sup
3 = yo?
다음으로 자바 코드를 작성하십시오.
관련 문제
- 1. 조건부 대체
- 2. 정규식이 쿼리 문자열의 일부를 리터럴로 바꿉니다.
- 3. 문자열을 정규 표현식으로 대체
- 4. 문자열을 공백으로 바꿉니다.
- 5. 자바 : Regex 대체
- 6. 정규식이 아닌 단어가 아닌 문자는 모두 일치 시키십시오.
- 7. Regex : "repeat repeat"가 아닌 REPEATED 문자열로 대체
- 8. RegEx JavaScript의 대체
- 9. 문자열을 이스케이프 처리하면 정규식이 엉망이되는 이유는 무엇입니까?
- 10. \ r \ n이 아닌 정규식이 아닌 정규식
- 11. 변수 RegEx 문자열 대체 JavaScript에서
- 12. Regex, 앵커 링크가 아닌 구/단어를 바꾸는 방법은 무엇입니까?
- 13. sqlite regex html 대체
- 14. C# regex 문제 대체
- 15. Vim Regex 대체 질문
- 16. Regex global 그룹으로 대체
- 17. 정규식이 아닌 단어가 라인을 얻을
- 18. 레일즈가 정규식이 아닌 것을 확인합니다
- 19. data.frame에서 값의 조건부 대체
- 20. 문자열을 다른 문자로 바꿉니다.
- 21. 문자열을 검색하고 바꿉니다
- 22. 문자열을 증가 값으로 바꿉니다.
- 23. Excel에서 문자열을 ID로 바꿉니다.
- 24. 문자열을 이미지로 바꿉니다.
- 25. 문자열을 특수 문자로 바꿉니다
- 26. OWASP Regex Repository :이 정규식이 맞습니까?
- 27. 정규식이 일치하는 하위 표현식을 바꿉니다 (그 밖의 것은 없습니까)?
- 28. ANT : 문자열을 파일 이름 자체 파일로 바꿉니다.
- 29. HTML 태그 대체 정규식이 올바르게 작동하지 않습니다.
- 30. 정규식이 일치하지 않으면 빈 대체 결과
그럼 ... 왜 표현식/대체 쌍은 여러 개 없습니까? 그런 다음 각 대체품을 실행할 수 있으며 일치하는 경우 대체됩니다. 그것이 일치하지 않으면, 아마도 다음 일치합니다. 나는 그 질문을 오해하고 있을지도 모른다. – FakeRainBrigand
입력은 웹 양식에서 왔기 때문에 정규식의 경우 1 필드, 대체 값의 필드 1 개만 표시됩니다. 물론 나는 (예를 들어 분리 된) 대체 문자열에서 배열을 만들고 $ 1을 배열 등에서 첫 번째 값으로 변경하는 것을 고려해 봤지만 이상적으로 연결하지 않았다. – rde01