正则表达式不合需要地删除子串

时间:2013-09-15 23:02:14

标签: javascript regex

我正在尝试从下面的字符串中提取void <init>(java.lang.String)java.io.File getOutputMediaFileUri(int)(以及类似的字符串)。

specialinvoke $r1.<java.io.File: void <init>(java.lang.String)>($r16)@<com.jpgextractor.PicViewerActivity: java.io.File getOutputMediaFileUri(int)>

目前,我正在使用正则表达式:

/.*<.* (\S+ .*)>.*<.* (\S+ .*)>.*/

哪个有效,除了代替void <init>(java.lang.String)我只是void (java.lang.String)

我在<init>已经消失的时候有点误解......我已经尝试了几种不同的方式来哄回来,但到目前为止还没有运气。

谢谢大家!

1 个答案:

答案 0 :(得分:1)

这个问题与正则表达式无关;正如acdcjunior和nhahtdh指出的那样,正则表达式运行正常,但问题在于显示文本。我将输出void <init>()作为未转义的HTML放入网页,其中<init>被解释为HTML标记;应转义<>个字符。

有关转义此类标记的信息,请参阅Fastest method to escape HTML tags as HTML entities?