山口です。

> Mac OS 10.10.5
> ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]
> ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin14]
> UTF-8
> 
> という環境で,
> 
> s = "A A A A A A A A A A A A A A A A A A A A A A A A "
> /((A )+)+([((][))])/ =~ s
> 
> 2行を実行すると,
> 1.4秒という比較的長い時間がかかります。
> 
> % time ruby z.rb
> ruby z.rb  1.42s user 0.03s system 99% cpu 1.455 total
> 
> (1)
> “A “の個数が増えるとより時間がかかるようでした。
> (2倍に増やすと10分経ってもプロンプトに戻ってきませんでした)

...



> 根本的に正規表現の書き方を誤っていますでしょうか...。

cygwin の環境ですが

正規表現を /(A )+/ =~ s にしました。

直ぐにPrompt 戻ってきます。

yama@roswell:/tmp$ uname -a
CYGWIN_NT-6.1 JPC20316739 2.7.0(0.306/5/3) 2017-02-12 13:18 x86_64 
Cygwin
yama@roswell:/tmp$ cat ika.rb
# coding: utf-8
s  = "A A A A A A A A A A A A A A A A A A A A A A A A "
s2 = "A A A A A A A A A A A A A A A A A A A A A A A A "
puts "#{s}"
s = s + s2 # 2倍に増やしました。
puts "#{s}"
if /(A )+/ =~ s then
  puts "match"
else
  puts "not match"
end
yama@roswell:/tmp$ time ruby ika.rb
A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 
A A A A A A A A A A A A
match

real    0m0.312s
user    0m0.093s
sys     0m0.202s