正则表达式可选匹配行首/行尾

2024-02-01

我如何选择匹配开始^ or end $正则表达式中的一行?

例如:

/(?<=[\s\^])/不匹配以空格字符开头或行开头。

我的问题是 PHP 匹配以下内容。

$str = '**bold** **bold** **bold**';
echo preg_replace('/(?<=\s|^)\*\*(.+?)\*\*(?=\s|$)/', '<strong>\\1</strong>', $str);

我的边缘情况(字符串开头和结尾处为粗体)不匹配。我遇到的其他变体的一些边缘情况是字符串内匹配、星号链匹配以及无数其他问题。

echo preg_replace('/(?<=^|\s|\>)[\*]{2,}(?=[^\s\*])(.+?)(?<=[^\s\*])[\*]{2,}(?=\s|\<|$)/', '<strong>\\1</strong>', $str);

如果您坚持在匹配后空白字符 or 行的开头,使用一个交替 http://www.regular-expressions.info/alternation.html(不是字符类 http://www.regular-expressions.info/charclass.html)。假设您的正则表达式风格支持交替回顾断言 http://www.regular-expressions.info/lookaround.html.

/(?<=\s|^)\w+/m

但您可能正在寻找字边界 http://www.regular-expressions.info/wordboundaries.html, \b。它们在单词的开头或结尾匹配(恰好在从单词字符到非单词字符的变化或反之亦然)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式可选匹配行首/行尾 的相关文章

随机推荐

  • 检查元组中的元组中是否存在元素

    我有一个元组列表 如下所示 CODES apple reddelicious caramel sweetsticky banana yellowfruit 检查该元组中是否存在值的最佳方法是什么 例如我希望能够说 apple in CODE
  • 清理 PHP 中的文件路径

    我希望确保我的小程序的安全 以便潜在的恶意用户无法查看服务器上的敏感文件 path home gsmcms public html central app webroot GET file if file exists path echo
  • Azure DevOps 管道中存在不明确的参数“HEAD^”

    我在网上看到很多示例如何在 CI 中的 Azure DevOps 管道期间获取更改文件 只需使用简单的代码 changedFiles git diff name status HEAD HEAD 但是当我尝试在 yaml 管道中使用它时出现
  • 蚂蚁的战斗策略

    这个问题是指谷歌赞助的人工智能挑战 http aichallenge org 每隔几个月举行一次的竞赛 参赛者需要提交一个能够自主与其他机器人玩家玩游戏的机器人 刚刚结束的比赛名为 蚂蚁 您可以阅读其所有规范here http aichal
  • 使用 LINQ 进行现有查询

    我想使用 LINQ 获取员工列表 这些员工必须在TypeOfWorks列出typeofWork通过 Id 在论证中 public class Employee public virtual IList
  • Codeigniter - 使用 set_value() 填充表单进行编辑(不涉及 POST)

    我有一个包含表单的视图 带有输入字段和单选按钮 该表单需要填充数据库中的数据 以便将其用作数据编辑表单 我已使用 set value 函数进行表单验证 其中在发布后从同一控制器调用视图 但是如何在没有 POST 的情况下使用 set val
  • 加速 Numpy 数组/OpenCV cv2 图像的迭代

    我有 3 个形状 gt 500 500 的 numpy 数组 我正在尝试同时迭代它们 我尝试了两种不同的方法 但都很慢 Here Ix Ix blur Ix Iy blur and Iy Iy blur大小相同 我正在尝试寻找特征并将其绘制
  • 将 JSON jQuery Ajax 发送到 PHP 并返回

    我在通过 Ajax 将 JSON jQuery 数组发送到 PHP 脚本时遇到问题 这里有什么问题 var tee voting image img attr id var vote 1 var thing tee tee vote vot
  • 为kendo数据源提供一个角度范围变量

    我目前正在尝试用远程数据填充剑道网格 Kendo 有它自己的函数来获取数据 但我想使用我创建的角度工厂 所以我有一个工厂 它有一个函数 getSkills 该函数从我的api获取所有技能对象 angular module MyApp fac
  • 最佳实践 - 从 Web 服务抛出异常

    我们有一个 ASMX Web 服务 我们使用 ajax jQuery 从 ASP NET 应用程序调用它 我们的网络方法的典型示例如下 WebMethod public void DoSomething BusinessObject myP
  • git-svn 忽略大型二进制文件

    我正在使用一个大型 svn 存储库 超过 30 000 个修订版 我使用 git svn 的成功有限 我的主要问题是 svn 存储库包含对大型二进制文件 30MB 的频繁更新 我不关心这些文件的历史记录 但我确实关心这些文件的当前版本 如果
  • sizeof 在可变长度数组上的行为(仅限 C)

    我的问题是具体如何sizeof 当传递的参数是动态数组可变长度数组时的行为 让我们考虑一个例子 int fun int num of chars char name arr num of chars 0 Do something retur
  • IHttpControllerFactory 在哪里?

    微软网站说有一个IHttpControllerFactory http msdn microsoft com en us library system web http dispatcher ihttpcontrollerfactory v
  • 在 PHP 中使用当前 http 请求的查询字符串获取路径[重复]

    这个问题在这里已经有答案了 我需要从当前请求的 URL 中获取带有查询字符串的路径 例如 如果当前 URL 是 http www example com example test hi php randomvariable 1 我想要这个
  • android 拾取音频文件

    我需要从 SD 卡获取音频文件并播放 我认为这可以通过获取音频文件的 URI 来完成 因此 要选择音频文件 我使用以下代码 Intent intent new Intent intent setType audio intent setAc
  • 由 java.lang.SecurityException 引起:UID 10243 无权 content://media/external/audio/media/5927 [user 0]

    我是 Android 开发新手 正在尝试调试我们的应用程序崩溃的原因 当我们尝试向 Android 设备发送推送通知时 我们遇到了崩溃 这是我需要解决的入职问题 我不知道是什么导致了这个问题 该问题可以在 Android N O 和 P 中
  • C# 中的 Thread.Sleep()

    我想用 C 制作一个图像查看器Visual Studio 2010 http en wikipedia org wiki Microsoft Visual Studio Visual Studio 2010几秒钟后一张一张地显示图像 i 0
  • 为什么在传递对象时使用“ref”关键字?

    如果我将对象传递给方法 为什么要使用 ref 关键字 这不是默认行为吗 例如 class Program static void Main string args TestRef t new TestRef t Something Foo
  • .尝试与&&性能

    假设我有一个来自 SQL 查询的传入值 如下所示 grok Foo select foo attr1 foo attr2 first foo attr2是一个可为空的字段 现在假设我需要对输出进行处理 如果存在 krug grok foo
  • 正则表达式可选匹配行首/行尾

    我如何选择匹配开始 or end 正则表达式中的一行 例如 lt s 不匹配以空格字符开头或行开头 我的问题是 PHP 匹配以下内容 str bold bold bold echo preg replace lt s s strong 1