Tôi có chuỗi như thế này:Java mẫu regex với chuỗi tùy chọn
something something [[abcd]] blah blah
something something [[xyz|abcd]] blah blah
Những gì tôi muốn trong cả hai trường hợp là:
something something abcd blah blah
Làm thế nào để làm điều này chỉ sử dụng 1 mẫu regex trong Java? Tôi có thể làm trường hợp đầu tiên với điều này:
Pattern pattern = Pattern.compile("\\[\\[(.+?)\\]\\]");
Matcher m = patternLinkRemoval.matcher(text);
return m.replaceAll("$1");
Dường như bạn đang cố gắng phân tích cú pháp MediaWiki-Cú pháp - có thể một trình phân tích cú pháp từ http://www.mediawiki.org/wiki/Alternative_parsers sẽ là một lựa chọn tốt hơn vì MediaWiki có khá nhiều trường hợp ngoại lệ. –
Trông giống như một nguồn hữu ích. Cảm ơn! – pckben
Sweble trông khá đẹp: http://sweble.org/crystalball/?wicket:interface=:11:query-form::IFormSubmitListener::&stage=POSTPRO&expMode=NOT_APPLICABLE&format=TEXT&query:wikitext=something+something+%5B%5Babcd% 5D% 5D + blah + blah% 0Một cái gì đó + một cái gì đó +% 5B% 5Bxyz% 7Cabcd% 5D% 5D + blah + blah –