С помощью регулярных выражений вывести из файла слова, начинающиеся с цифр - C#
Формулировка задачи:
Люди добрые!Бьюсь уже полдня над,казалось бы мне,простой ошибкой.
По сабжу : нужно с помощью регулярных выражений вывести из файла слова,начинающиеся с цифр.Написал программу,но выводит только первое,очень прошу помощи.
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader f = new StreamReader(openFileDialog1.FileName);
String pattern = @"\b[0-9]{0,10}\w";
String s;
Regex r = new Regex(pattern);
while ((s = f.ReadLine()) != null)
{
Match m = r.Match(s);
while (m.Success)
{
m = m.NextMatch();
richTextBox1.Text = Convert.ToString(r.Match(s).Value + "\n\n");
}
}
f.Close();
}
}Решение задачи: «С помощью регулярных выражений вывести из файла слова, начинающиеся с цифр»
textual
Листинг программы
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace WindowsFormsApplication293
{
public partial class Form1 : Form
{
private RichTextBox tb;
public Form1()
{
InitializeComponent();
var bt = new Button {Parent = this};
tb = new RichTextBox {Parent = this, Top = 100};
bt.Click += delegate { OpenFile(); };
}
private void OpenFile()
{
var ofd = new OpenFileDialog {Filter = "Text|*.txt"};
if(ofd.ShowDialog() == DialogResult.OK)
{
var text = File.ReadAllText(ofd.FileName);
var words = Regex.Matches(text, @"[0-9]\w*").OfType<Match>().Select(m => m.Value).ToArray();
tb.Text = string.Join("\r\n", words);
}
}
}
}