Результаты поиска
Regex: чтобы вытащить подстроку между двумя тегами в строке
У меня есть файл в следующем формате:
Data Data Data [Start] Data I want [End] Data
Я хотел бы захватить Data I want из промежутка между тегами [Start] и [End] , используя Regex. Может ли кто-нибудь показать мне, как это можно сделать?
Как я могу получить совпадения при использовании preg_replace в PHP?
Я пытаюсь схватить заглавные буквы нескольких слов и обернуть их в теги span. Я использую preg_replace для извлечения и упаковки, но он ничего не выводит.
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Варианты для HTML выскабливания?
Я подумываю попробовать прекрасный суп, пакет Python для HTML выскабливания. Есть ли еще какие-нибудь HTML выскабливающие пакеты, на которые я должен смотреть? Python-это не требование, мне действительно интересно услышать и о других языках.
История так далеко зашла:
- Python
- Ruby
- .NET
- Perl
- Java
- JavaScript
- PHP
- Большинство из них
Разбор строк с разделителями?
Я смотрю на разбор разделенной строки, что-то в порядке
а,б,c
Но это очень простой пример, и разбор разделенных данных может стать сложным; например
1,"Ваш простой алгоритм, он терпит неудачу", правда
это разнесло бы вашу наивную реализацию string.Split в пух и прах. Есть ли что-нибудь, что я могу свободно use/steal/copy и вставить, что предлагает относительно пуленепробиваемое решение для разбора разделенного текста? .NET, плокс.
Update: я решил пойти с TextFieldParser, который является частью VB.NET's кучи лакомств, спрятанных в Microsoft.VisualBasic.DLL.
Как разобрать XML с помощью vba
Я работаю в VBA, и хотите, чтобы разобрать строку, например
<PointN xsi:type='typens:PointN'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:xs='http://www.w3.org/2001/XMLSchema'>
<X>24.365</X>
<Y>78.63</Y>
</PointN>
и получите значения X & Y в две отдельные целочисленные переменные.
Я новичок, когда дело доходит до XML, так как я застрял в VB6 и VBA, из-за области, в которой я работаю.
Как мне это сделать?
Как получить только имя каталога из SaveFileDialog.FileName
Каков был бы самый простой способ отделить имя каталога от имени файла при работе с SaveFileDialog.FileName в C#?
Разбор полезного адреса улицы, города, штата, Zip из строки
Проблема: у меня есть поле адреса из базы данных Access, которая была преобразована в Sql Server 2005. В этом поле есть все, что находится в одном поле. Мне нужно разобрать отдельные разделы адреса на соответствующие поля в нормализованной таблице. Мне нужно сделать это примерно для 4000 записей, и это должно быть повторяемо.
Предубеждения:
Предположим, что адрес в US (на данный момент)
предположим, что входная строка иногда будет содержать адресата (лицо, к которому обращаются) и/или второй адрес улицы (например, номер B)
государства могут быть сокращены
Код zip может быть стандартным 5-значным или zip+4
в некоторых случаях есть опечатки
UPDATE: в ответ на поставленные вопросы, стандарты не были соблюдены повсеместно, мне нужно хранить индивидуальные значения, а не только геокод и ошибки означает опечатку (исправлено выше)
выборочные данные:
А. П. Кролл & Сын 2299 Льюис-Джорджтаун Hwy, Джорджтаун, DE 19947
11522 Шони-Роуд, Гринвуд DE 19950
144 Кингс-Хайвей, S.W. Дувр, DE 19901
Интегрированная Константа. Услуги 2 Penns Way Suite 405 New Castle, DE 19720
Humes Realty 33 Bridle Ridge Court, Льюис, DE 19958
Раскопки Николса 2742 Pulaski Hwy Newark, DE 19711
2284 Брин Сион Роуд, Смирна, DE 19904
VEI Dover Crossroads, LLC 1500 Serpentine Road, Suite 100 Baltimore MD 21
580 North Dupont Highway Dover, DE 19901
P.O. Вставка 778 Дувр, DE 19903
Как я могу узнать о парсер-комбинаторах?
Я нашел несколько источников по этому вопросу , но все они требуют глубокого понимания SmallTalk или Haskell, ни одного из которых я не знаю.
.Чистая разбора против преобразования
В .Net вы можете прочитать строковое значение в другой тип данных, используя либо <datatype>.parse , либо Convert.To<DataType> .
Я не знаком с основами parse versus convert, поэтому всегда теряюсь, когда меня спрашивают, какой из них подходит better/faster/more.
Итак - какой путь лучше всего выбрать в каких обстоятельствах?
Лучший подход к разбору для SQL в PHP файлов?
Для моей старшей диссертации я разработал программу, которая будет автоматически обнаруживать и предлагать исправления уязвимостей SQL инъекций с использованием подготовленных инструкций. В частности, расширение mysqli для PHP. Мой вопрос для сообщества SO заключается в следующем: каков ваш предпочтительный подход к обнаружению SQL в исходном коде PHP?
Я использовал перечисление, содержащее SQL keywords (SELECT, INSERT, ...) , и в основном анализировал каждую строку, повторяя перечисление, чтобы определить, присутствует ли какой-либо SQL. Кроме того, я должен был убедиться, что синтаксический анализатор не ошибочно обнаруживает html (например <\select>).
Для меня это решение работало нормально, но теперь у меня есть немного больше времени на руках и я подумал о рефакторинге кода, чтобы использовать более элегантное (и эффективное) решение. Пожалуйста, ограничьте свои решения использованием C# , поскольку это то, в чем я написал свою программу.
Разрешение конфликта reduce / reduce в yacc / ocamlyacc
Я пытаюсь разобрать grammar в ocamlyacc (почти то же самое, что и обычный yacc), который поддерживает приложение функций без операторов (например, в Ocaml или Haskell) и обычный набор двоичных и унарных операторов. Я получаю конфликт reduce/reduce с оператором' -', который может использоваться как для вычитания, так и для отрицания. Вот пример grammar, который я использую:
%token <int> INT
%token <string> ID
%token MINUS
%start expr
%type <expr> expr
%nonassoc INT ID
%left MINUS
%left APPLY
%%
expr: INT
{ ExprInt $1 }
| ID
{ ExprId $1 }
| expr MINUS expr
{ ExprSub($1, $3) }
| MINUS expr
{ ExprNeg $2 }
| expr expr %prec APPLY
{ ExprApply($1, $2) };
Проблема заключается в том, что когда вы получаете выражение типа "a - b", парсер не знает, следует ли его уменьшить как "a (-b)" (отрицание b, а затем применение) или "a - b" (вычитание). Уменьшение вычитания является правильным. Как мне разрешить конфликт в пользу этого правила?
Где я могу получить задачу Antlr Ant?
Я пытаюсь вызвать задачу Antlr в моем Ant build.xml следующим образом:
<path id="classpath.build">
<fileset dir="${dir.lib.build}" includes="**/*.jar" />
</path>
...
<target name="generate-lexer" depends="init">
<antlr target="${file.antlr.lexer}">
<classpath refid="classpath.build"/>
</antlr>
</target>
Но Ant не может найти определение задачи. Я поставил все следующее в этом dir.lib.build :
- антлр-3.1.jar
- антлр-2.7.7.jar
- antlr-время выполнения-3.1.jar
- stringtemplate-3.2.jar
Но ни один из них, похоже, не имеет определения задачи. (Я также попытался поместить эти банки в мой Ant classpath; та же проблема.)
Какие библиотеки парсинга HTML вы рекомендуете в Java
Я хочу разобрать некоторые HTML, чтобы найти значения некоторых атрибутов / тегов и т. д.
Какие HTML Парсеры вы рекомендуете? Есть плюсы и минусы?
Парсер уравнений (выражений)с приоритетом?
Я разработал анализатор уравнений с использованием простого алгоритма стека, который будет обрабатывать двоичные файлы (+, -, |, &, *, /, etc) операторы, унарные (!) операторы и скобки.
Использование этого метода, однако, оставляет мне все, что имеет одинаковый приоритет - он вычисляется слева направо независимо от оператора, хотя приоритет может быть применен с помощью скобок.
Так что прямо сейчас "1+11*5" возвращает 60, а не 56, как можно было бы ожидать.
Хотя это подходит для текущего проекта, Я хочу иметь рутину общего назначения, которую можно использовать для последующих проектов.
Отредактировано для ясности:
Что такое хороший алгоритм для разбора уравнений с приоритетом?
Я заинтересован в чем-то простом для реализации и понимаю, что я могу кодировать сам, чтобы избежать проблем лицензирования с доступным кодом.
Grammar:
Я не понимаю вопроса grammar - я написал это от руки. Это достаточно просто, чтобы я не видел необходимости в YACC или Bison. Мне просто нужно вычислить строки с такими уравнениями, как "2+3 * (42/13)".
Язык:
Я делаю это в C, но меня интересует алгоритм, а не конкретное языковое решение. C-это достаточно низкий уровень, чтобы его можно было легко перевести на другой язык, если возникнет такая необходимость.
пример кода
Я опубликовал тестовый код для простого синтаксического анализатора выражений , о котором я говорил выше. Требования к проекту изменились, и поэтому мне никогда не нужно было оптимизировать код для производительности или пространства, поскольку он не был включен в проект. Он написан в оригинальной многословной форме и должен быть легко понятен. Если я сделаю что-нибудь еще с ним в плане приоритета операторов, я, вероятно, выберу макрос hack , потому что он соответствует rest программы в простоте. Если я когда-нибудь использую это в реальном проекте, я буду использовать более компактный/быстрый парсер.
Смежный вопрос
-Adam
Парсинг XML с использованием unix terminal
Иногда мне нужно быстро извлечь некоторые произвольные данные из файлов XML, чтобы поместить их в формат CSV. Каковы ваши лучшие практики для этого в Unix terminal? Я хотел бы получить некоторые примеры кода, так например, как я могу решить следующую проблему?
Пример ввода XML:
<root>
<myel name="Foo" />
<myel name="Bar" />
</root>
Мой желаемый результат CSV :
Foo,
Bar,