commit
a68287bcb7
4 changed files with 61 additions and 5 deletions
@ -0,0 +1,52 @@ |
||||
package com.yipin.liuwanr; |
||||
|
||||
import org.apache.commons.lang3.StringUtils; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.regex.Matcher; |
||||
import java.util.regex.Pattern; |
||||
|
||||
public class Mian { |
||||
|
||||
public static void main(String[] args) { |
||||
//将字符串与正式表达式进行匹配
|
||||
//start()返回匹配到的子字符串在字符串中的索引位置.
|
||||
//end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置.
|
||||
//group()返回匹配到的子字符串
|
||||
|
||||
String[] arg = {"5"};//前端【输入框输入的数据】
|
||||
|
||||
//【代码】
|
||||
String str="i = input(\"请输入\")\n" + |
||||
"b = input(\"请输入\")"; |
||||
|
||||
StringBuilder builder = new StringBuilder(str); |
||||
String regex = "input\\((.*?)\\)"; |
||||
Pattern pattern = Pattern.compile(regex); |
||||
Matcher m = pattern.matcher(builder); |
||||
int j = 0; |
||||
while (m.find()) { |
||||
if(j<arg.length){ |
||||
int start = m.start(); |
||||
int end = m.end(); |
||||
String str2 = m.group(); |
||||
String result=null; |
||||
if(str2.contains("'")){ |
||||
result="'"+arg[j]+"'"; |
||||
}else if(str2.contains("\"")){ |
||||
result="\""+arg[j]+"\""; |
||||
} |
||||
if(!StringUtils.isEmpty(result)){ |
||||
builder.replace(start,end,result); |
||||
} |
||||
m = pattern.matcher(builder); |
||||
j++; |
||||
}else{ |
||||
break; |
||||
} |
||||
} |
||||
System.out.println(builder.toString()); |
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue