正则表达式的属性/值在Java中不起作用

时间:2010-05-28 15:07:55

标签: java regex

我想避免像这样的文本:height =“49”,带有正则表达式。

我尝试了.replaceAll("\s*="*"","");

(replaceAll用作java类中的方法),但eclipse不允许我这样做。 还有其他建议吗?

3 个答案:

答案 0 :(得分:4)

您需要将Java字符串文字中的\转义为\\,并且需要将"转义为\"

.replaceAll("\\s*=\".*?\"","")

另见

  

字符和字符串转义序列允许表示一些非图形字符以及字符文字(第3.10.4节)和字符串文字(第3.10.5节)中的单引号,双引号和反斜杠字符。 / p>

EscapeSequence:
        \ b                     /* \u0008: backspace BS                   */
        \ t                     /* \u0009: horizontal tab HT              */
        \ n                     /* \u000a: linefeed LF                    */
        \ f                     /* \u000c: form feed FF                   */
        \ r                     /* \u000d: carriage return CR             */
        \ "                     /* \u0022: double quote "                 */
        \ '                     /* \u0027: single quote '                 */
        \ \                     /* \u005c: backslash \                    */

答案 1 :(得分:2)

您需要转义字符串中的反斜杠和双引号。你也可能想写.*到处写*的任何地方(虽然这可能不会给你你想要的结果,所以你应该使用比.更具体的东西。)

答案 2 :(得分:0)

这需要更多的澄清,但您的具体示例可以使用

找到
String.replaceAll("[A-Za-z]+=\"\d+\"","")