Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写java.Replace正则表达式?_Java_Regex - Fatal编程技术网

如何编写java.Replace正则表达式?

如何编写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+) 这是您所拥有的有效正则表达式的翻译。这个

我试图编写一个正则表达式来替换以空格分隔的文件中的以下内容

该文件包含:

单词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+)

这是您所拥有的有效正则表达式的翻译。

这个如何:

\\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,换成女性,或者如果我想要男性。乐意效劳,在我的答案上打个勾吧;-)