2014-12-15 3 views
0

일부 확장 (pdf, doc, jpeg, jpg 및 png)에 대한 필드 변수의 유효성을 검사하는 정규식 scipt가 있습니다. 그러나 때로는이 필드는 비어있을 수 있습니다. 일부 주제에서 "^ $"이 (가) 내 문제를 해결할 수 있음을 알았습니다. 나는 많은 combinaisons (원인은 내가 정규식 몰라)하지만 작동하지 않습니다보십시오. 당신이 당신의 정규식에 \$있는 이유는 무엇입니까 당신의 도움이빈 변수 정규식 유효성 검사

+1

왜 비어있는 문자열을 확인하고 공백이 아닌 문자열에 정규식 검사를 적용하는 것이 좋을까요? –

+0

코드는 소프트웨어 BonitaBPM의 유효성 검사기에 포함되어 있습니다. 유효성 검사기 내부에서 루프를 수행 할 수 없습니다 (또는 수행 방법을 모른다). 나는 이미 그것을하려고하지만 성공하지는 않는다. 그래서 정규식 코드에서 모든 필요를 채우기 위해 노력합니다. – SylvainB

답변

0

에 대한

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

String REGEX = "([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png))\$)"; 
Pattern pattern = Pattern.compile(REGEX); 
Matcher matcher = pattern.matcher(field_Fichier1.getFileName()); 
return matcher.matches(); 

감사합니다 : 난 당신이 내 현재 코드를 제공합니다. 당신은 빈 문자열 일치를 허용하는 전체 정규식은 선택 할 수 있습니다 : 결국

String REGEX = "([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png)))?"; 

?은 선택 전체 정규식 일치하여 그것뿐만 아니라 "" 일치 수 있도록 할 것입니다.

0

그냥 정규식의 전면에 ^$|를 추가 : 나는 기존의 정규식을 확인하지 않은

String REGEX = "^$|([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png))\$)"; 

주 - 나는 그것이 공백이 아닌 입력을 작동 있으리라 믿고있어합니다.

1
// Mine = doesn't work for empty field 
//String REGEX = "([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png))\$)"; 

// Anubhava = doesn't work for empty field 
//String REGEX = "([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png)))?"; 
//  or 
//String REGEX = "([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png)))"; 

// Bohemian = can't be run = error: "Groovy:illegal string body character after dollar sign;" 
String REGEX = "^$|([^#@]+(\\.(?i)(pdf|doc|docx|jpeg|mp3|jpg|png))\$)"; 
+0

나는이 코드를 그루비 스크립트에 넣었다고 깜빡했다. bonitaBPM 소프트웨어가 도움이된다면 – SylvainB