放射性元素を見つけるための正規表現


10

元素の周期表で、すべての放射性元素に一致し、他には一致しない最短の正規表現を見つけます。

放射性元素

'Technetium','Promethium','Polonium','Astatine','Radon','Francium','Radium','Actinium','Thorium','Protactinium','Uranium','Neptunium','Plutonium','Americium','Curium','Berkelium','Californium','Einsteinium','Fermium','Mendelevium','Nobelium','Lawrencium','Rutherfordium','Dubnium','Seaborgium','Bohrium','Hassium','Meitnerium','Darmstadtium','Roentgenium','Copernicium','Ununtrium','Flerovium','Ununpentium','Livermorium','Ununseptium','Ununoctium'

非放射性元素

'Hydrogen','Helium','Lithium','Beryllium','Boron','Carbon','Nitrogen','Oxygen','Fluorine','Neon','Sodium','Magnesium','Aluminium','Silicon','Phosphorus','Sulphur','Chlorine','Argon','Potassium','Calcium','Scandium','Titanium','Vanadium','Chromium','Manganese','Iron','Cobalt','Nickel','Copper','Zinc','Gallium','Germanium','Arsenic','Selenium','Bromine','Krypton','Rubidium','Strontium','Yttrium','Zirconium','Niobium','Molybdenum','Ruthenium','Rhodium','Palladium','Silver','Cadmium','Indium','Tin','Antimony','Tellurium','Iodine','Xenon','Caesium','Barium','Lanthanum','Cerium','Praseodymium','Neodymium','Samarium','Europium','Gadolinium','Terbium','Dysprosium','Holmium','Erbium','Thulium','Ytterbium','Lutetium','Hafnium','Tantalum','Tungsten','Rhenium','Osmium','Iridium','Platinum','Gold','Mercury','Thallium','Lead','Bismuth'
  • 正規表現の文字数でスコア付け。
  • 標準のPerl正規表現を使用します(特別な関数はありません)。
  • すべて小文字と仮定します。
  • あなただけの正規表現自体の文字を数える必要があります。

プログラムを使用して開始したかどうか、そしてそれがどれほどうまくいったかを投稿してください。開始/例を表示するための回答として、最善の試みを投稿します。


POSIX正規、POSIX拡張、PCREなどの正規表現を引用できますか?それ以外の場合、「言語にとらわれない」というのは実際にはあまり意味がありません。
トビア2014年

申し訳ありませんが、私はjavaとjavascriptで正規表現を使用するだけで、違いをすべて知っていません。目標は、言語固有の機能に依存せずに、最も一般的な言語で機能する正規表現を作成することです。
qw3n 2014年

このサイトで正規表現のゴルフを希望するかどうかについては、現在議論中です。貢献してください。
Peter Taylor

@ qw3n「通常の言語を表す正規表現」と言って、言語固有のものをすべて除外できます。
FUZxxl 2015年

回答:


3

文字数59

e.+[hktv]|oh?r.+m|p...?o|r.*ci|be?.i|^c?u|rad|sta|has|ct|fe

良い部品を手動で選択し、残りのアイテムでPeter Norvigのゴルファーを実行することにより見つかりました。

Regex101リンク


LOLは2年以上後に回答を受け入れました!@drjimbobの回答 が以前に受け入れられた回答であったと想像してください。受け入れられた回答より3文字優れています!
Erik the Outgolfer 2016年

ピートのために!私は1年以上最良の回答をしてきました。それから私はそれをさらに良くします。それからあなたはやって来て、さらに良くなり、受け入れられます!
エンブレム2016年

10

文字カウント61

lon|ct|oh|^ra|...t.+i|^c?u|or.+u|r.+c.|e..+e|f.?e|^h?as|be*.i

1 受け入れられた回答より3文字優れています!

Peter NorvigのRegexゴルフソルバーで見つかった63文字のソリューションGoでそのプログラムを個人的に書き直したところ、61文字の改善が見られました。


4

文字数64

^(c?u|ra|no)|e.[kht]|[^l][gecv]i|[^c]oh?[rn]iu|f.r|ac|sta|bn|has

qw3nソリューションの一部を使用して私のソリューションを削減することに注意してください。ピーターテイラーの提案を使用して、2人のキャラクターをトリミングしました。


これは最適なソリューションではないにしても、かなり近いと感じています。そのf.r部分を見てほしい。:)
qw3n 2014年

1
簡単な1-charが上に固定されたすべてグループ化することによって、そこに保存しています^変更することで、別の^(u|cu|...)^(c?u|...)
ピーター・テイラー

3

文字数69

^u|e.[kht]|[^l][gecv]i|[^c]oh?[rn]iu|^cu|f[oe]|a[cds]t|has|nob|rad|du

キュリウム/セリウムは対処するのが難しい

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.