C # Regex: ссылка на объект требуется для нестатического поля, метода или свойства 'Regex.Match (string)'

У меня недостаточно ответов, чтобы ответить на предыдущий «ответ», но я хотел предоставить некоторую информацию, которая может быть полезной кому-то еще в отношении вопроса OP.

Я был используя метод JRO в течение многих лет, чтобы скомпилировать / восстановить базы данных Access 2000 с VB.net. Каждый раз в синей луне у меня есть клиент, которому удалось повредить базу данных (обычно при подключении к базе данных по сети и их непредвиденное прерывание сети). JRO (по моему опыту) отлично работает, пока база данных НЕ КОРРУПЦИЯ. Я никогда не мог понять, почему база данных МОЖЕТ ремонтироваться, если я использую приложение Access для ее выполнения, но при использовании MY-приложения (которое использует JRO) компакт-диск / ремонт всегда терпит неудачу (база данных находится в нераспознанном формате).

Итак, после того, как я обратился к этой теме всего час назад, я отбросил ссылку на DAO в свое приложение и опробовал ее способность исправлять поврежденную базу данных, поскольку я только что сегодня заразил клиента своей базой данных (в третий раз произошло примерно через 8 лет). Угадайте, DAO смог восстановить базу данных, когда JRO не удалось!

Хорошо, так что это мой опыт работы с JRO против DAO. Надеюсь, поможет. Вот фрагмент примера кода для использования CompactDatabase из DAO:

Dim dbCorrupt As String = "c:\CorruptedDB.mdb"
Dim dbRepaired As String = Path.Combine(Path.GetDirectoryName(dbPath), Path.GetFileNameWithoutExtension(dbPath) & "_Repaired.mdb")

Dim dao As New dao.DBEngine
dao.CompactDatabase(dbCorrupt, dbRepaired)

-1
задан Noel S.G 16 January 2019 в 14:30
поделиться

1 ответ

Вам нужно и регулярное выражение, и строку для проверки, например:

var regEx = new Regex(@"(-?\d +)x\^ 2([+-]\d +)x([+-]\d +)");

var match = regEx.Match("string to test");

или, если вы не планируете использовать его более одного раза, вы можете использовать статический метод, подобный этому: [ 114]

var match = Regex.Match("string to test", @"(-?\d +)x\^ 2([+-]\d +)x([+-]\d +)");

Если вам нужна коллекция совпадений, а не только первая, вы можете получить их так:

var matchCollection = regEx.Matches("string to test");
0
ответ дан Robin Bennett 16 January 2019 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: