python正则表达式的java等价物

python正则表达式的java等价物,java,android,python,regex,Java,Android,Python,Regex,我是android开发新手。现在我被一个正则表达式模式打动了。我尝试了很多事情,但都没有成功 我试图找到用python编写的正则表达式r'\^\d+\~[A-Za-z~]+'的java等价物 提前谢谢 编辑: 实际上,我想解析字符串: 0~XYZ~Xamp吸血鬼~XMP~吸血鬼中心~2013-7-9-16-39-25~~~~~12345~吸血鬼城~吸血鬼城~VMC~吸血鬼中心~VPC~Xamp中心~XMPC~Xamper3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

我是android开发新手。现在我被一个正则表达式模式打动了。我尝试了很多事情,但都没有成功

我试图找到用python编写的正则表达式r'\^\d+\~[A-Za-z~]+'的java等价物

提前谢谢

编辑:

实际上,我想解析字符串:

0~XYZ~Xamp吸血鬼~XMP~吸血鬼中心~2013-7-9-16-39-25~~~~~12345~吸血鬼城~吸血鬼城~VMC~吸血鬼中心~VPC~Xamp中心~XMPC~Xamper3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3Express~~1~SR~~BG~~~10010~、En:、GS:、GSLRD:、GS:、2S:、2S:、2S:、2S:D、D1、2S:C、C1、CC:、2S:、2S:、2S:、2S:、2S:、2S:、2S:、2S:、2S:、GSLR:~0~

我用python编写了regex作为reg1=re.compiler'\^\d+\~[A-Za-z~]+',它将结果作为['^12345~吸血鬼城~吸血鬼城~VMC~吸血鬼中心~VPC~ Xamp中心~XMPC~ Xamper VC~XMVX~']数组。我只想在java中重现这一点。我尝试了许多组合和npinti的建议,但失败了。请帮助。

这应该可以:r'\\^\\d+~[A-Za-z~]+。它应该匹配一个r后跟一个',然后后跟一个^,一个或多个数字后跟一个~和一个或多个重复的字母,~以及一个空格

在java中,\是一个特殊字符,因此需要对其进行转义,这就是为什么在正则表达式引擎所需的\前面有额外的\的原因

编辑:我找不到以r'开头的python正则表达式,所以我假设您需要匹配它

如果不是这样,只需使用\\^\\d+~[A-Za-z~]+

编辑:

此代码似乎正在运行:

        String file = "0~XYZ~Xamp Vampire~XMP~Vampire Cenet~~2013-7-9-16-39-25~~~~^12345~VAMPIRE CITY~Vampire City~VMC~Vampire Center~VPC~Xamp Center~XMPC~Xamper VC~XMVX~07.50~09.45~01.55~1111111~~~~~~~~0001001000~~~~~~~~~~~MAIL_EXPRESS~4640~1~0~0~2013-07-08~2018-07-08~84~43~MAIL_EXPRESS:84:1085,1085,675,0,575,0:650,650,415,315,355,965:460,460,295,260,250,720:245,245,165,100,145,345:280,280,190,0,165,0:135,135,90,90,80,170:55,45,40,10,35,45:0,0,0,0,0,0:40,30,40,0,40,40~0~0~~60~1~6303~~~Intercity Express~~1~SR~~BG~~~10010~,,En:,,GS:,,GSLRD:,,GS:,,2S:,,2S:,,2S:,,2S:D,D1,2S:C,C1,CC:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,GSLR:~0~";
        Pattern p = Pattern.compile("\\^\\d+\\~[A-Za-z~ ]+");
        Matcher m = p.matcher(file);
        if(m.find())
        {
            System.out.println(m.group(0));
        }
        System.out.println("Finished");
收益率:

^12345~VAMPIRE CITY~Vampire City~VMC~Vampire Center~VPC~Xamp Center~XMPC~Xamper VC~XMVX~
Finished
整个r'的事情似乎给了我一些麻烦,我在以前的编辑中省略了一个首字母\\,现在已经修复了。我基本上使用了@Kent建议的相同正则表达式,因此他的答案应该是可以接受的。我只是添加了一些java代码来更好地帮助您获得所需的:。

这应该可以工作:r'\\^\\d+~[A-Za-z]+。它应该匹配一个r后跟一个',然后后跟一个^,一个或多个数字后跟一个~和一个或多个重复的字母,~以及一个空格

在java中,\是一个特殊字符,因此需要对其进行转义,这就是为什么在正则表达式引擎所需的\前面有额外的\的原因

编辑:我找不到以r'开头的python正则表达式,所以我假设您需要匹配它

如果不是这样,只需使用\\^\\d+~[A-Za-z~]+

编辑:

此代码似乎正在运行:

        String file = "0~XYZ~Xamp Vampire~XMP~Vampire Cenet~~2013-7-9-16-39-25~~~~^12345~VAMPIRE CITY~Vampire City~VMC~Vampire Center~VPC~Xamp Center~XMPC~Xamper VC~XMVX~07.50~09.45~01.55~1111111~~~~~~~~0001001000~~~~~~~~~~~MAIL_EXPRESS~4640~1~0~0~2013-07-08~2018-07-08~84~43~MAIL_EXPRESS:84:1085,1085,675,0,575,0:650,650,415,315,355,965:460,460,295,260,250,720:245,245,165,100,145,345:280,280,190,0,165,0:135,135,90,90,80,170:55,45,40,10,35,45:0,0,0,0,0,0:40,30,40,0,40,40~0~0~~60~1~6303~~~Intercity Express~~1~SR~~BG~~~10010~,,En:,,GS:,,GSLRD:,,GS:,,2S:,,2S:,,2S:,,2S:D,D1,2S:C,C1,CC:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,2S:,,GSLR:~0~";
        Pattern p = Pattern.compile("\\^\\d+\\~[A-Za-z~ ]+");
        Matcher m = p.matcher(file);
        if(m.find())
        {
            System.out.println(m.group(0));
        }
        System.out.println("Finished");
收益率:

^12345~VAMPIRE CITY~Vampire City~VMC~Vampire Center~VPC~Xamp Center~XMPC~Xamper VC~XMVX~
Finished

整个r'的事情似乎给了我一些麻烦,我在以前的编辑中省略了一个首字母\\,现在已经修复了。我基本上使用了@Kent建议的相同正则表达式,因此他的答案应该是可以接受的。我只是添加了一些java代码,以更好地帮助您获得所需的:。

您只需将反斜杠替换为双反斜杠即可。以正则表达式的形式在java中尝试此字符串:

String myRegex = "\\^\\d+\\~[A-Za-z~ ]+";

您只需将反斜杠替换为双反斜杠。以正则表达式的形式在java中尝试此字符串:

String myRegex = "\\^\\d+\\~[A-Za-z~ ]+";

由于我是android的初学者,经过三个小时的搜寻,我终于找到了正确的东西

String myRegex = "[\\^]\\d{5}~[A-Za-z~ ]+";

这给了我所需要的。感谢所有试图帮助我的人:-

我是一名android初学者,经过三个小时的搜寻,终于找到了正确的方法

String myRegex = "[\\^]\\d{5}~[A-Za-z~ ]+";

这给了我所需要的。感谢所有试图帮助我的人:-

我相信r不是python中正则表达式的一部分@肯特:我找不到任何使用“r”的例子,所以我认为OP也希望与之匹配。如果不是这样的话,那么我也为此道歉,这基本上就是你发布的。没关系。你可以在这里找到:实际上,OP让我们有点困惑。他说的是一个用py表示的正则表达式。我相信他的意思是r'\^\d+\~[A-Za-z]+',但他又引用了整件事。这可能会误导人们认为双引号之间的文本是python中的正则表达式…@Kent我理解。如果是这样,那么你的答案是正确的。我向上投票:。r代表原始字符串-不是正则表达式的一部分:-我相信r不是python中正则表达式的一部分:@肯特:我找不到任何使用“r”的例子,所以我认为OP也希望与之匹配。如果不是这样的话,那么我也为此道歉,这基本上就是你发布的。没关系。你可以在这里找到:实际上,OP让我们有点困惑。他说的是一个用py表示的正则表达式。我相信他的意思是r'\^\d+\~[A-Za-z]+',但他又引用了整件事。这可能会误导人们认为双引号之间的文本是python中的正则表达式…@Kent我理解。如果是这样,那么你的答案是正确的。
来自我的投票:。r代表原始字符串-不是正则表达式部分:-我不能投票支持你,因为我的名声不好,但非常感谢。我不能投票支持你,因为我的名声不好,但非常感谢