Формат Я хочу, чтобы проверитьвыражение Java: Не допускать одиночные кавычки в середине или Разрешить одиночные кавычки с двойной обратный слеш
- Начните с одиночной кавычки (после левой обшивкой)
- End с одной цитатой (после того, как правая отделка)
- В середине: ни одна цитата не имеет права или разрешить его, но он должен быть экранирован, используя двойной обратный слэш
Образцы
'abc' --> valid
'abc\\'def' --> valid
'abc'def' --> invalid
То, что я пытался
public static void main(String[] args) {
final Pattern pat = Pattern.compile("\\s*\\'[^']+\\'\\s*", Pattern.CASE_INSENSITIVE);
System.out.println(pat.matcher("'abc'").matches()); // Out: true
System.out.println(pat.matcher("'abc\\'def'").matches()); //Out: false, expected true
System.out.println(pat.matcher("'abc'def'").matches()); // out false
}
Я имею вопрос с этим правилом:
allow a single quote in middle but it must be escaped by \\
Любой помогает? Благодаря!
'окончательный шаблон погладить = Pattern.compile (" \ \ s * '[^' \\\\] * (?: \\\\. [^ '\\\\] *) *' \\ s * ");' –
'' 'abc \\' def ''' это строка '' abc \' def'', * not * строка '' abc \\ 'def''. – Andreas
@Andreas: То, что вы говорите, ясно, как день. OP также должно соответствовать экранированным кавычкам между первой и последней одинарными кавычками. –