如何用正则表达式匹配以$开头的变量?

艾莉

情况如下:

我有这个字符串的变化:

['var1' => $var1, 'var2' => $obj->var1['asd']]
[ 'var1' => $var1, 'var2' => $obj->var1 ]
['var1' => $var1, 'var2' => $var2]

我需要比赛$var$obj->var1['asd']$obj->var1

我走到了这么远:

(\$[^,\s\]]+]?)

它几乎可以工作,但最后一种情况却无效。在此处查看其运行情况:regex101.com/r/cI0yP0/3

更新:

感谢您的所有答复。他们都工作得很好。

现在,正如乔指出的那样,可能还有其他情况,例如以下情况。

['var' => $obj->var1->var2[2]->var3['test']->var4]
['var1' => $obj->var1[$obj2->var1['one']]]
['var2' => $obj[3]['var']]
['var3' => $obj->method()]

这将允许您捕获链接在一起的任意数量的变量,并且不包括方括号:

 \$(?:(?:(?<!\$)->)?(?:[a-zA-Z]\w*(?:\[[^\[\]]+\])*)(?:\(\))?)+

$obj->var1->var2[2]->method1()->var3['test']['test2']->method2()例如,这将捕获

演示版

这不支持嵌套的括号。即,$obj->var1[$obj2->var1['one']]为了平衡括号,您将需要使用适当的解析器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何编写仅匹配以+开头的字符串或变量的正则表达式?

来自分类Dev

如何用if语句匹配正则表达式

来自分类Dev

如何用正则表达式匹配数据

来自分类Dev

如何用if语句匹配正则表达式

来自分类Dev

如何用变量替换vim正则表达式

来自分类Dev

正则表达式匹配变量

来自分类Dev

如何匹配正则表达式

来自分类Dev

正则表达式模式-匹配以@开头的单词

来自分类Dev

正则表达式匹配以“ $”开头的单词

来自分类Dev

正则表达式-如果模式以\开头,则不匹配

来自分类Dev

正则表达式匹配不带“]”开头的括号

来自分类Dev

正则表达式:不以短语开头的匹配行

来自分类Dev

正则表达式匹配以@开头的单词

来自分类Dev

正则表达式匹配不带“]”开头的括号

来自分类Dev

正则表达式匹配以空格字符开头的行

来自分类Dev

正则表达式匹配字符串以@ 开头

来自分类Dev

如何用正则表达式匹配$ 123 $,$$,$,但不能匹配$ 123?

来自分类Dev

如何用sed表达此正则表达式?

来自分类Dev

如何用sed表达此正则表达式?

来自分类Dev

如何正则表达式匹配周围的空白或行的开头/结尾

来自分类Dev

如何在Automa.jl中匹配以\\开头的正则表达式

来自分类Dev

仅在以用户输入开头的情况下才如何匹配正则表达式?

来自分类Dev

如何在正则表达式匹配的开头添加一些内容?

来自分类Dev

如何正则表达式匹配周围的空白或行的开头/结尾

来自分类Dev

如何在正则表达式中以特定字符开头的字符串匹配

来自分类Dev

如何在正则表达式中匹配字符串的开头/结尾?

来自分类Dev

如何匹配正则表达式中新行的每个开头?

来自分类Dev

如何使用正则表达式仅在字符串开头显示匹配项

来自分类Dev

如何编写正则表达式以匹配以字母开头并以数字结尾的字符串

Related 相关文章

  1. 1

    如何编写仅匹配以+开头的字符串或变量的正则表达式?

  2. 2

    如何用if语句匹配正则表达式

  3. 3

    如何用正则表达式匹配数据

  4. 4

    如何用if语句匹配正则表达式

  5. 5

    如何用变量替换vim正则表达式

  6. 6

    正则表达式匹配变量

  7. 7

    如何匹配正则表达式

  8. 8

    正则表达式模式-匹配以@开头的单词

  9. 9

    正则表达式匹配以“ $”开头的单词

  10. 10

    正则表达式-如果模式以\开头,则不匹配

  11. 11

    正则表达式匹配不带“]”开头的括号

  12. 12

    正则表达式:不以短语开头的匹配行

  13. 13

    正则表达式匹配以@开头的单词

  14. 14

    正则表达式匹配不带“]”开头的括号

  15. 15

    正则表达式匹配以空格字符开头的行

  16. 16

    正则表达式匹配字符串以@ 开头

  17. 17

    如何用正则表达式匹配$ 123 $,$$,$,但不能匹配$ 123?

  18. 18

    如何用sed表达此正则表达式?

  19. 19

    如何用sed表达此正则表达式?

  20. 20

    如何正则表达式匹配周围的空白或行的开头/结尾

  21. 21

    如何在Automa.jl中匹配以\\开头的正则表达式

  22. 22

    仅在以用户输入开头的情况下才如何匹配正则表达式?

  23. 23

    如何在正则表达式匹配的开头添加一些内容?

  24. 24

    如何正则表达式匹配周围的空白或行的开头/结尾

  25. 25

    如何在正则表达式中以特定字符开头的字符串匹配

  26. 26

    如何在正则表达式中匹配字符串的开头/结尾?

  27. 27

    如何匹配正则表达式中新行的每个开头?

  28. 28

    如何使用正则表达式仅在字符串开头显示匹配项

  29. 29

    如何编写正则表达式以匹配以字母开头并以数字结尾的字符串

热门标签

归档