如何编写java.Replace正则表达式?
我试图编写一个正则表达式来替换以空格分隔的文件中的以下内容 该文件包含: 单词C F F另一个单词 另一个单词D H F另一个 我试图得到表达式来捕捉F和hf之间的最后一个F 我编写了这个表达式,但它在JAVA中无法正确处理如何编写java.Replace正则表达式?,java,regex,Java,Regex,我试图编写一个正则表达式来替换以空格分隔的文件中的以下内容 该文件包含: 单词C F F另一个单词 另一个单词D H F另一个 我试图得到表达式来捕捉F和hf之间的最后一个F 我编写了这个表达式,但它在JAVA中无法正确处理 \\(\\(?:[a-z][a-z0-9\]*\\)\(\\s+(F)(\\s+) 有人能帮忙吗?我正在尝试将其与String.ReplaceALL一起使用 谢谢。((?:[a-z][a-z0-9_]+)(\\s+(F)(\\s+) 这是您所拥有的有效正则表达式的翻译。这个
\\(\\(?:[a-z][a-z0-9\]*\\)\(\\s+(F)(\\s+)
有人能帮忙吗?我正在尝试将其与String.ReplaceALL一起使用
谢谢。((?:[a-z][a-z0-9_]+)(\\s+(F)(\\s+)
这是您所拥有的有效正则表达式的翻译。这个如何:
\\b(F)\\b(?!\\s+\\bF\\b)
正在查找独立F,而不是后跟另一个独立F此独立F与此类字符串匹配。但是你怎么替换呢
"^.* F ([^ ]*|[ F])*$"
我看到F和HF之间没有F。在你的测试文件中,F和HF之间没有F。。。无论如何,它是类似于.*hf.*(F)。*hf.*点星匹配任何东西…你为什么要逃避你的捕获?看起来你不是在寻找字符串中的paren。无论如何,这是毫无意义的。假设字符串中有两个“F”。如果能够捕捉到最后一个,你会得到什么?它以字符串的形式返回,因此得到“F”。这告诉你什么?你想知道你捕获的“F”的数量吗?最后一个“F”的位置?先生们…我写得不好。我想要最后一个F,换成女性,或者如果我想要男性。乐意效劳,在我的答案上打个勾吧;-)