java regex-获取之前没有特定单词的特定索引

时间:2017-06-06 14:57:29

标签: java regex xml regex-negation

我试图仅在特定的地方在xml字符串上添加双引号。

这是xml内容的一个例子

    <opr:sec name=display>
     <opr:fld name=fieldName>Value1</opr:fld>
     <opr:fld name=someName>value2</opr:fld>

我需要添加双引号,例如:name = &#34; fieldName &#34; ,每行的字段名称都不同。

使用 name = 之前的第一个双引号很简单

但是对于结束双引号我认为使用&gt; 符号,但需要在结尾处避免 fld

我如何使用不要之前的字母

2 个答案:

答案 0 :(得分:1)

这是一种更简单的方法来做你想做的事 使用此正则表达式:
name=([^>]*)>
并将其替换为:
name="$1">

答案 1 :(得分:1)

您可以使用捕获块,将您的线分成3个块并从碎片重建它:

public class G  {
public static Context        context;
public static SQLiteDatabase database;
public static final String   DIR_SDCARD   = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String   DIR_DATABASE = DIR_SDCARD + "/database-test";
@Override
public void onCreate() {
    super.onCreate();
    context = this.getApplicationContext();
   // new File(DIR_DATABASE).mkdirs();
    File file=new File(DIR_DATABASE);
    file.mkdirs();
    database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "/database.sqlite", null);
    database.execSQL("CREATE  TABLE  IF NOT EXISTS person (person_name TEXT NOT NULL ," +
                " person_family TEXT NOT NULL , " +
                " person_password TEXT NOT NULL   )");
}