2017-01-27 1 views
0

파일 이름에서 구문을 분석하는 Java 정규식을 가져 오는 데 문제가 있습니다. 나는 그것이 알고 enter image description here파일 이름에서 Forex 쌍을 구문 분석 할 Java 정규식

: I 마찬가지로 "[email protected]_2009_05_01_2016_12_30.txt"여기

라는 이름으로 각 파일 이름에 대한 패턴 및 교체를 입력하기 위해 GUI 인터페이스를 제시하고있어하면 GUI의 스크린 샷입니다 Java Regex 그러나 나는 그것을 올바르게하는 것처럼 보인다.

"level1EUR__USD @ TRUEFX_2009_05_01_2016_12_30" :

"EUR/USD"

입력 에를 "EUR__USD"를 대체하는 정규 표현식은 무엇인가?

출력 :

level1EUR/달러 @의 TRUEFX_2009_05_01_2016_12_30

+0

의 나머지 부분을? – MYGz

+0

결과는 무엇이되어야합니까? –

+0

예, 패턴은 모든 파일에서 동일하며 파일 이름은 동일한 형식입니다. – parliament

답변

4

당신은

^\w*?([A-Z]{3})_+([A-Z]{3}).* 

를 사용하고 $1/$2로 대체 할 수 있습니다.

regex demo을 참조하십시오.

세부 :

  • ^ - 문자열의 시작
  • \w*? - 가능한 몇 가지로 0+ 단어 문자,
  • ([A-Z]{3}) - 그룹 1 (대체 패턴으로 $1으로 함) : 대문자 3 자의 ASCII 문자
  • _+ - 1 또는 그 이상 _ chars
  • ([A-Z]{3}) - 그룹 2 (대체 패턴으로 $2으로 함) : 3 개 대문자 ASCII 문자
  • .* - 패턴이 항상 동일 라인
+0

짧은 정규식 "([A-Z] {3}) _ + ([A-Z] {3})"로 바꾼 다음 "$ 1/$ 2"로 바꾸십시오. –

+0

감사합니다. 4 분 안에 표시됩니다. – parliament