0
私はjq
に私の入力に次の文字列を持っている:jqのsedやviのような後方参照?
"\n*blah\n**tim\nbob was here\n*item1\n**item2\n"
をそして、私は次のように最初の\n*
と一致することができるよ:
[match("(\n\\*[A-Za-z0-9]*\n)";"g")]
一致:
[
{
"offset": 0,
"length": 7,
"string": "\n*blah\n",
"captures": [
{
"offset": 0,
"length": 7,
"string": "\n*blah\n",
"name": null
}
]
},
{
"offset": 25,
"length": 8,
"string": "\n*item1\n",
"captures": [
{
"offset": 25,
"length": 8,
"string": "\n*item1\n",
"name": null
}
]
}
]
しかし、私の目標はこれらを検索し、一致した\n*
行の先頭に余分に\n
を追加することです。
gsubを使用してバックリファレンスを行うことができないようですが、sed
とvi
で実行可能な機能は、逆参照一致をjq
で使用していますか?ここで
だから、この上の公式の構文は何ですか?あなたは '? 'それは一致する式のようにかっこの間になければなりませんか? – leeand00
[manual](https://stedolan.github.io/jq/manual/#RegularexpressionsPCRE)はこれに少し似ており、セクション全体を読むのに役立ちます。 [実装](https://github.com/stedolan/jq/blob/master/src/builtin.jq#L115-L153)は、[一致](https://github.com/stedolan/)に依存するように見えます。 jq/blob/master/src/builtin.c#L753)が '.captures'に保存するので、jqが[oniguruma](https://github.com/kkos/oniguruma)を使用しているので気になる逆参照がサポートされているとは思わない/ blob/master/doc/RE)を使って正規表現の作業を行い、それをサポートしているようです。おそらくそれらは検索パターンでのみ許可されます。 – jq170727