У меня есть следующий скрипт, и скрипт выводит массив, как показано ниже.
[
[0] "# bash LAN\n\n```\nnmap -sn 192.168.3.*\n```\n",
[1] "# node.js npm\n\n`sudo apt update && sudo apt install nodejs npm -y`\n",
[2] "# something title\n\nsomething content\n",
[3] "# bash log\n\n```\ntail -f",
[4] "# or",
[5] "# tail -f -n 50\n```\n\n\n"
]
Encoding.default_external = 'UTF-8'
require 'pry'
require "awesome_print"
# p \
ap \
arrayobj = <<-'EOS'.scan(/^#(?!#).*(?:\R(?!#(?!#)).*)*/) # .scan(/^#.*$\n(.*)/m)
# bash LAN
\```
nmap -sn 192.168.3.*
\```
# node.js npm
`sudo apt update && sudo apt install nodejs npm -y`
# something title
something content
# bash log
\```
tail -f
# or
# tail -f -n 50
\```
EOS
Я бы хотел разделить текст, заключенный в EOS, на #
(одиночный хеш), но если одиночный хэш заключен в тег кода Markdown, игнорировать этот одиночный хеш.
Итак, в этом случае я хотел получить следующий вывод. Как вы получаете вывод?
[
[0] "# bash LAN\n\n```\nnmap -sn 192.168.3.*\n```\n",
[1] "# node.js npm\n\n`sudo apt update && sudo apt install nodejs npm -y`\n",
[2] "# something title\n\nsomething content\n",
[3] "# bash log\n\n```\ntail -f\n# or\n# tail -f -n 50\n```\n\n\n",
]