正则表达式

发布于 2024-10-31 08:19:47 字数 399 浏览 0 评论 0原文

我有一个与此类似的字符串:

Hi, <<\name>> <<\surname>>, this is an example <<\test>>.

我用什么正则表达式来匹配并分割该字符串:

"Hi, " 
<<\name>>
" "
<<\surname>> 
", this is an example " 
<<\test>>
"."

我尝试了这个: (<<\*.*?>>)|(>> *.*?<<),但不起作用。有可能吗? 谢谢。

i have a string similar to this one:

Hi, <<\name>> <<\surname>>, this is an example <<\test>>.

I what a regex that match and split this string in:

"Hi, " 
<<\name>>
" "
<<\surname>> 
", this is an example " 
<<\test>>
"."

I tried this one: (<<\*.*?>>)|(>>*.*?<<), but doesn't work. It's possible?
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

此刻的回忆 2024-11-07 08:19:47

您可以使用此表达式(它使用正前瞻和正后瞻):

<<.*?>>|(?<=>>|^).*?(?=<<|$)

它匹配由 <<>> 符号包围的字符串,这些字符串位于这些符号之间从开始到 << 以及从 >> 到结束的符号和字符串。

您可以在 ideone 上找到 C# 示例。

You could use this expression (it uses positive lookaheads and positive lookbehinds):

<<.*?>>|(?<=>>|^).*?(?=<<|$)

it matches strings surrounded by << and >> symbols, strings which are between these symbols and strings from the begin to << and to the end from >>.

You could find a C# example on ideone.

緦唸λ蓇 2024-11-07 08:19:47

使用 str_replace

$str =' Hi, <<\name>> <<\surname>>, this is an example <<\test>>.';
$old= array('<<','>>');
$new =array('"<<','>>"');
$str2=str_replace ($old,$new,$str);
//retruns Hi, "<<\name>>" "<<\surname>>", this is an example "<<\test>>".

use str_replace

$str =' Hi, <<\name>> <<\surname>>, this is an example <<\test>>.';
$old= array('<<','>>');
$new =array('"<<','>>"');
$str2=str_replace ($old,$new,$str);
//retruns Hi, "<<\name>>" "<<\surname>>", this is an example "<<\test>>".
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文