正则表达式获取'as'关键字之前和之后的值

时间:2018-05-04 08:27:13

标签: javascript regex

 Alias as label

Alias as label,

[ColumnA], Alias as label, [Column B]

[ColumnA], [Column B], Alias as label From XYZ

Alias as label, [Column A] ,[Column A] as label, [Column B], Alias as label

Alias as label,Alias as label From XYZ

Alias as label, Alias as label, [Column A] From XYZ

[Column A] , Alias as label, Alias as label, [Column B] From XYZ

[Column A] ,[Column B], Alias as label, Alias as label From XYZ

Alias as label, Alias as label, [Column A] , [Column B], Alias as label, Alias as label,[Column C], [Column D], Alias as label, [Column E], Alias as label, [Column F],[Column G], Alias as label,

[@atiiohoi], hfghfhfffgh, P3_GRU as label

我有一些像上面一句话的话我希望得到前面和as关键字之后的值Alias as label and [Column A] as label,因为我正在使用(\s*(?:,\s*\S+\s*)?\S*\s*as\S*(?:\s\S+)?)正则表达式,但它不是为所有案件工作。

以下链接是用于测试的链接 https://regex101.com/r/lr4GBA/1

1 个答案:

答案 0 :(得分:0)

您可以使用此regex = " as | AS | aS | As"并使用split()方法

String mData = "[ColumnA], Alias as label, [Column B] Alias as label, [Column A] ,[Column A] as label, [Column B], Alias as label";
        String [] result = mData.split(" as | AS | aS | As");

        for(String d : result) {
            System.out.println(d);

        }

输出:

[ColumnA], Alias
label, [Column B] Alias
label, [Column A] ,[Column A]
label, [Column B], Alias
label