我想找到以下方法
POST
GET
DELETE
来自:
[POST]
[GET]
[DELETE]
我当前的正则表达式是:
[A-Z\w+]
但是它不返回我需要的东西。我在做什么错了?
此外,请注意,对于每一行,括号内只有一个值,即POST,GET或DELETE。最后,这些方法位于日志文件中,该日志文件在“ []”(URL或rails helper方法)中也包含其他字符。我只需要获取POST,GET或DELETE。
答案 0 :(得分:0)
我相信这样做\[([^]]+)\]
才能捕获方括号内的所有内容。 \[([POST|GET|PUT|DELETE]]+)\]
捕获特定的预定义单词。
答案 1 :(得分:0)
使用捕获组()
提取转义的\[
和\]
之间的值,
并定位所有[]
而不是^
结束\]
一次或多次+
的对象。
\[([^\]]+)\]
https://regex101.com/r/pYkYAp/1
如果您想将重点放在确切的单词上 POST GET
等,而不要使用选项|
:
\[(POST|DELETE|GET)\]
https://regex101.com/r/pYkYAp/2/
如果您希望不那么挑剔,并且只想使用大写的项 ,则比:
\[([A-Z]+)\]
https://regex101.com/r/pYkYAp/3/
如果您不需要捕获和完全匹配,则可以在(?<=…)
之后使用正向后看和在(?=…)
处使用正向后看:
(?<=\[)[A-Z]+(?=\])