Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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
Regex 正则表达式:在两个标记(或两个星号)之间匹配换行符_Regex_Match_Html Parsing_Preg Match - Fatal编程技术网

Regex 正则表达式:在两个标记(或两个星号)之间匹配换行符

Regex 正则表达式:在两个标记(或两个星号)之间匹配换行符,regex,match,html-parsing,preg-match,Regex,Match,Html Parsing,Preg Match,我希望你能帮助我。 我有以下字符串: <floatingText>After Cesar had reported this, he \r\n jumped into his UFO and flew to space</floatingText> 我试过以下方法: \*([\s\s]*?)\*匹配*之间的所有内容,包括*直到下一个*发生。 (\*)[^有几个选项,但更通用的是匹配分隔符之间的所有文本,然后将匹配传递给替换函数,在该函数中可以删除所有CR和LF: $

我希望你能帮助我。 我有以下字符串:

<floatingText>After Cesar had reported this, he \r\n
 jumped into his UFO and flew to space</floatingText>
我试过以下方法:

\*([\s\s]*?)\*
匹配*之间的所有内容,包括*直到下一个*发生。


(\*)[^有几个选项,但更通用的是匹配分隔符之间的所有文本,然后将匹配传递给替换函数,在该函数中可以删除所有CR和LF:

$text=“*塞萨尔报告此事后,他\r\n跳进他的UFO飞到了太空*\r\n故事继续…带着一些文字。\r\n*另一个带\r\n星号*的换行符的部分;
echo preg\u replace\u回调('~\*[^*]*\*~',函数($x){return str\u replace([“\r”,“\n”],'$x[0]);},$text);
=>*塞萨尔报告此事后,他跳进了他的不明飞行物,飞向太空*
故事还在继续…有一些文字。
*另一个带有星号内换行符的部分*

当你有标签时,你只需要使用

“~.*s”

'~[^如果要删除两个不同分隔符之间的换行符或相同分隔符之间的换行符,则此处存在差异。您是要删除
\r\n
4字符组合还是仅删除所有CRLF结尾?为什么在此处的纯文本测试中有
\r\n
?抱歉,是的,我正在尝试删除所有CRLF结尾。\r\n纯文本只是复制和粘贴的结果。您使用的是什么编程语言?PHP,所以我猜是PCRE引擎
*After Cesar had reported this, he \r\n
 jumped into his UFO and flew to space*
Story goes on ... with some text.
*Another section with \r\n\
a linefeed within asterisks*