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

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(使用前将#替换为@)

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

  • C# 中的文件名匹配问题

    我之前发布过类似的内容 但它是关于处理命令提示符的 与另一个实例一样 我尝试在 ERP 系统中的备份之前进行一些自动文件清理 我对其执行维护 以平滑流程 因为我对其中 6 个系统至少执行两次维护 每一个月 所以 这里有一些正在发生的事情的例
  • 为什么 sed 不将 \t 识别为制表符?

    sed s t 1 filename gt sedTmpFile mv sedTmpFile filename 我期待这个sed脚本插入一个tab在每一行前面 filename然而事实并非如此 由于某种原因 它正在插入一个t反而 Not a
  • 捕获组内贪婪修饰符的奇怪行为

    考虑以下命令 text lt abcdEEEEfg sub c E text 1 ab EEEfg lt lt lt OKAY sub c E text 1 ab EEfg lt lt lt WEIRD sub c E text perl
  • 使用 sed 删除带有方括号和引号的模式

    如何使用 sed 删除具有此模式的行 resourceNames I tried sed i resourceNames d sa yaml 文件的一部分看起来像这样 apiGroups resources secrets resource
  • 正则表达式匹配 json 中的键

    我正在尝试匹配这种类型的 JSON 中的键 define key1 some text and more key2 some text key3 more some text key4 some text 用这个正则表达式 lt s s w
  • 如何在 grep 中每个文件匹配一次?

    是否有任何 grep 选项可以让我控制匹配总数 但在每个文件的第一个匹配处停止 Example 如果我这样做grep ri include coffee re 我明白了 app coffee express require express
  • python - 分割字符串而不删除分隔符

    我试图在不删除分隔符的情况下拆分字符串 但这样做遇到了麻烦 我要分割的字符串是 9 4 3 2 我想结束 9 4 3 2 但我尝试过的一切都没有奏效 我正在通过这个 stackoverflow 帖子寻找答案以及谷歌 Python split
  • R Strsplit 将分隔符保留在第二个元素中

    我已经尝试解决这个小问题近2个小时了 但没有成功 我只想用分隔符分隔字符串 一个空格后跟任何字符 在第二个元素中 我想保留分隔符 而在第一个元素中 它不应出现 例子 x lt 123123 123 A123 strsplit x A Z 结
  • 作为正则表达式查找有向循环图中的所有路径

    设 G V E r 一个有根有向图 由一组顶点 V 和一组边 E 以及指定的根节点 r 定义 该图可能包含循环 任务 给定 V 中的两个顶点 x 和 y 找到all从 x 到 y 的路径 由于允许循环 因此路径集合显然可以是无限的 因此 我
  • 通过匹配模式将字符串替换为另一个文本文件中的行

    我有一个带有对应键 gt 值的文件 sort keyFile txt head ENSMUSG00000000001 ENSMUSG00000000001 Gnai3 ENSMUSG00000000003 ENSMUSG0000000000
  • 正则表达式查找 bcrypt 哈希值?

    我正在寻找使用正则表达式 在 PowerGrep 中 在数据库中查找 bcrypt 哈希字符串 尝试了这个正则表达式 A Za z 0 9 60 但没有找到匹配项 Bcrypt 哈希长度为 60 个字符 以 2y 开头 Example 2y
  • grep 以特定字符串开头的行

    我想找到文件中以特定字符串开头的所有行 问题是 我事先不知道字符串里有什么 该值存储在变量中 天真的解决方案如下 grep my string file txt 因为如果 Bash 变量my string包含任何正则表达式特殊字符 grep
  • 转义 re.sub 的 repl 参数

    我想确定repl的论证re sub是转义 因此任何特殊序列如 1不被解释 gt gt gt repl r 1 gt gt gt re sub X repl X X gt gt gt re sub X desired escape funct
  • 用数组值替换字符串中的模板

    我有一个字符串 可以有简单的模板 我有一个包含替换值的数组 目前我正在用循环来做 但我想把它改成preg replace 你能帮助我吗 Example values array id gt 120 name gt Jim string He
  • 在Python中检测包含非英文字符的字符串

    我有一些混合有英文字母和非英文字母的字符串 例如 w 1991 2 如何使用正则表达式或 Python 中的任何其他快速方法识别这些类型的字符串 我不喜欢将字符串中的字母与字母列表进行逐一比较 而是一次性快速完成此操作 您可以检查该字符串是
  • sed:用匹配的模式替换第 n 个单词?

    我有一个具有以下特征的文本文件 每行至少有三个由空格分隔的 单词 单词 可以是任何字符或字符串 我在一些行中附加了一些注释 并提出了对原始单词进行更改的初步建议 现在想使用 sed 为我进行这些更改 因此 为了提供更清晰的图片 我的文件如下
  • 仅匹配单词或字符串中的撇号

    我正在寻找一个可以匹配的Python正则表达式 didn t 并仅返回紧接在撇号前面的字符 例如 t 但不是 d or t 在开始和结束时 我努力了 w w 但它只匹配开头的撇号 更多示例 I m 应该只匹配 m并不是 I Erick s
  • C# 中的高级替换

    我喜欢用 C 替换 xml 字符串 中的一些属性 示例 XML
  • 如何使用正则表达式选择字符串中每个单词的第一个字母

    我试图使用正则表达式选择字符串中每个单词的第一个字母 但遇到了问题 我能够使用选择第一个单词的第一个字母 w igm 我如何修改它以选择字符串中每个单词的第一个字母 举个例子 我有字符串 我喜欢狗 我想要代码选择 I L 和 D Use a
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后

随机推荐

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

    我有一个元组列表 如下所示 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