问题标签 [tokenize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
448 浏览

c# - 正则表达式能做到这一点吗?

我正在尝试通过以下方式将字符串拆分为标记(通过正则表达式):

示例 #1
输入字符串:'hello'
第一个标记:'
第二个标记:hello
第三个标记:'

Example #2
输入字符串:'hello world'
第一个标记:'
第二个标记:hello world
第三个标记:'

示例 #3
输入字符串:hello world
第一个标记:hello
第二个标记:world

即,仅当字符串不在单引号中时才拆分字符串,并且单引号应在其自己的标记中。

这是我到目前为止所拥有的:

这将适用于示例 #1 和示例 #3,但不适用于示例 #2。我想知道理论上是否有一种方法可以用正则表达式实现我想要的

0 投票
4 回答
361 浏览

c - 词法分析器/标记器和字符集

在构建词法分析器/标记器时,依赖诸如 isdigit/isalpha/... 之类的函数(在C中)是错误的吗?据我所知,它们依赖于语言环境。我是否应该选择一个字符集并专注于它并自己制作一个字符映射,从中查找分类?然后问题就变成了能够使用多个字符集。我是为每个字符集生成一个词法分析器/标记器,还是尝试对我编写的那个进行编码,这样我唯一要做的就是更改字符映射。什么是常见的做法?

0 投票
2 回答
3301 浏览

java - Java:字符串标记器并分配给2个变量?

假设我有时间 hh:mm(例如 11:22),我想使用字符串标记器进行拆分。但是,在拆分后,我可以获得例如:11 和下一行 22。但是如何将 11 分配给变量名“小时”和另一个变量名“分钟”?

还有另一个问题。如何四舍五入?即使它是 2.1 我希望它四舍五入到 3?

0 投票
2 回答
1553 浏览

jquery - jQuery + Facebook 样式状态更新文本框 - 配置文件的自动完成链接

我有一个带有状态更新文本框的社交网站,很像 facebook。但是,我还希望用户能够在输入新状态时输入 @ 符号,这会显示朋友个人资料的自动完成选项(再次与 facebook 相同)。

当用户选择一个时,它应该作为指向该个人资料的链接包含在状态中。

我见过许多 jquery 的自动完成插件,包括 fcbkComplete 插件,但这些插件只允许您从 JSON 数据中选择项目,并且不包括您自己的文本。

例如,我可能想输入:“我今天在查看@Paul Hinett 的个人资料,发现他是@Jack 的朋友”

2 个配置文件名称应该是链接。

希望有人能帮忙!

0 投票
5 回答
1862 浏览

c++ - 为什么 C++ strtok() 不适合我?

该程序应该通过 cin 接收输入,对其进行标记,然后输出每个输入以向我显示它工作正常。它没有。

该程序编译没有错误,并接受输入,但无法输出任何内容。

我究竟做错了什么?

我在这里遵循了代码示例:http ://www.cplusplus.com/reference/clibrary/cstring/strtok/

谢谢。

0 投票
2 回答
6948 浏览

java - 如何在java中扫描文本时删除空格

我已经在 java 中实现了几个不同的“扫描仪”,从 Scanner 类到简单地使用

但是当一行中有几个空格时,"the_quick____brown___fox"它们都标记了某些空格(想象下划线是空格)。有什么建议么?

0 投票
2 回答
338 浏览

html - 如何将 HTML 令牌流重写为新文档?

假设我有一个已标记化的 HTML 文档,如何将其转换为新文档或应用其他一些转换?

例如,假设我有这个 HTML:

我目前写的是一个输出标记流的标记器。对于本文档,它们将是(用伪代码编写):

但现在我不知道如何使用这个流来创建一些转换。

例如,我想改写TAG_ATTRIBUTE_VALUE[/foo]TAG_OPEN[a] TAG_ATTRIBUTE[href]别的东西。

我想做的另一个转换是让它在括号TAG_ATTRIBUTE[href]后输出属性TAG_OPEN[a],例如,

被重写为

进行此类转换的一般策略是什么?我想做很多其他的转换,比如剥离所有标签并只留下 TEXT 内容,在某些特定标签之后添加标签等。

我需要创建解析树吗?我从来没有做过,也不知道如何从令牌流中创建解析树。或者我可以以其他方式做到这一点吗?

欢迎任何建议。

还有一件事 - 我想自己学习所有这些解析,所以我不是在寻找图书馆!

预先感谢, Boda Cydo

0 投票
2 回答
416 浏览

java - 风吹在弦上

我对如何完成这项任务有一些基本的想法,但我不确定我是否做得对。所以我们有带有方法的 WindyString 类。使用后:

我们应该得到这样的东西:

因此,简而言之,我们会在每个第二个单词中挑选每个元音并将它们移到上一行。在单词的后半部分,我们将元音移到下一行。

我知道我应该使用分词器或拆分方法将字符串拆分为令牌,但接下来呢?创建 3 个数组,每个数组代表每一行?

0 投票
1 回答
656 浏览

actionscript-3 - Calculation Expression Parser with Nesting and Variables in ActionScript

I'm trying to enable dynamic fields in the configuration file for my mapping app, but I can't figure out how to parse the "equation" passed in by the user, at least not without writing a whole parser from scratch! I'm sure there is some easier way to do this, and so I'm asking for ideas!

Basic idea:

So far, I was thinking of splitting the expression by either the operators, or maybe the variable tokens, but that gets rid of the parenthetical nesting. Alternatively, use a series of regex to search and replace each piece of the expression with its value, recursively running until only a number is left. But I don't think regex does math (i.e. replace "\d + \d" with the sum of the two numbers) Ideally, I'd just do a find/replace all variable names with their values, then run an eval(), but there's no eval in AS...

eesh

I downloaded some course materials for a course on compiler design, so maybe I'll just write a full-fledged calculator language and parser and port it over from the OTHER flex (the parser generator) :-D

0 投票
1 回答
1402 浏览

php - 解析/标记包含 SQL 命令的字符串

是否有任何开源库(任何语言,首选 python/PHP)将 ANSI SQL 字符串标记/解析为其各种组件?

也就是说,如果我有以下字符串

我会取回一个数据结构/对象,例如

重申一下,我正在寻找一个数据库包中的代码,该代码将 SQL 命令分开,以便引擎知道如何处理它。在互联网上搜索了很多关于如何用 SQL 解析字符串的结果。那不是我想要的。

我意识到我可以通过开源数据库的代码找到我想要的东西,但我希望有一些更现成的东西,(尽管如果你知道在 MySQL、PostgreSQL、SQLite 源代码中的哪个位置,请随意通过它沿着)

谢谢!