Извините, мне пришлось написать этот вопрос, я был в середине его завершения, и кто-то его закрыл. они не были достаточно любезны, чтобы объяснить, почему так мне пришлось перепечатать? , пожалуйста, сообщите мне, что сбивает с толку.Java замените соответствующее регулярное выражение
Главная точка: Я хочу, чтобы заменить матч регулярного выражения с частью матча так, если я REGEX привет я хочу, чтобы заменить {привет} , если регулярное выражение матч на я хочу, чтобы заменить {на}
это удивительный взгляд на этих двух букв слова заменяются возвращение будет
this <h1>is</h1> awesome look <h1>at</h1> this two letter words get replaced
уведомление, как есть, и в котором будет соответствовать регулярное выражение \ Ь \ ш \ ш \ Ь будет соответствовать заменяемый
это код, над которым я работал ... не судите, что он не закончен, но я немного смущен и задаюсь вопросом, есть ли более простой способ. Я искал строку и находил совпадения, а затем я собирался перейти к арраисту и заменить каждый. Проблема в том, что я заменяю это {и я хочу заменить ее на {{} , теперь это выглядит так, что это будет постоянно заменять скобки, потому что я продолжаю добавлять их ... так что моя другая мысль заключалась в их замене все по одному символу char и добавить к новому объекту StringBuilder
?
ArrayList<String> replacements= new ArrayList<String>();
String s="::";
s+=command;
Pattern p= Pattern.compile("[!-~]");
Matcher match= p.matcher(this.execution);
while(match.find()){
replacements.add(match.group());
}
StringBuilder string= new StringBuilder();
for(int i=0;i<this.execution.length();i++){
String a=new String(execution.charAt(i));
if(...){
...
}
}
s+="::"+this.execution;
это $ 1 означает текущий матч? спасибо, что нашли время –
$ 1 означает группу # 1 в текущем матче. group - это выражение в круглых скобках –
, поэтому мне пришлось бы делать $ 1, $ 2 ..etc для каждого матча тогда? –