Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在用不同语言编写的几个项目中包含公共字符串(regexes)?

如何在用不同语言编写的几个项目中包含公共字符串(regexes)?
EN

Software Engineering用户
提问于 2016-07-26 10:28:58
回答 2查看 214关注 0票数 1

我有一个简单的Go库(大约300行,主要是类型声明和很好的方法以及gomobile等的兼容性方法,也是漂亮的打印脚本)。整个项目的核心是两个正则表达式,放在我的Go存储库中的一个单独的文件中。

现在我想把这个简单的库移植到Python,Java (Android),也许是Javascript。我希望正则表达式可以放在一个Git存储库中(甚至可能是Golang存储库)。

在编译/构建时将regexes包含为字符串常量的最佳方法是什么?对于Golang,唯一的方法似乎是使用go generate,它生成源代码文件,可以从纯文本文件中包含这些正则表达式。因此,我决定制作一个单独的Go源代码文件,以便其他构建工具在Python、Java、Javascript的情况下进行简单的解析。我希望有任何建议,如何有效地这样做。我还可以为两个正则表达式创建一个单独的存储库,并使用git submodules (甚至可以将其视为Go项目中的sepratate包)。

但我已经失去了一个很好的解决方案的希望,这就是为什么我在这里问而不是这样问,你是如何解决这些问题的?最简单的方法是手动从每个存储库中提交,手动设置author字段。

EN

回答 2

Software Engineering用户

发布于 2018-12-13 09:43:10

这是一个简单的解决方案,但是您可以始终将regexes放入一个属性文件中,然后让不同的代码基将它们的regexe作为文本值加载并在运行时编译它们。

票数 1
EN

Software Engineering用户

发布于 2018-09-13 16:06:01

以下是一个这样的项目:

参考资料

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/325840

复制
相关文章
Golang语言关于零值的定义
原文:https://golang.org/ref/spec#The_zero_value The 零值 当一个变量或者新值被创建时, 如果没有为其明确指定初始值,go语言会自动初始化其值为此类型对应的零值, 各类型零值如下: false : bool, 0: integer, 0.0: float, "": string, nil : pointer, function, interface, slice, channel, map 。对于复合类型, go语言会自动递归地将每一个元素初始化为其类型对应的零
李海彬
2018/03/20
1.1K0
关于cpp中左值和右值的细枝末节
这个比较容易理解,int temp = 10, func(), double a = 0.0, x++, ++x, *ptr,x+y这些都是表达式,他们不是左值就是右值。
全栈程序员站长
2022/07/23
6120
js中关于假值和空数组的总结
1、“假值”总共只有6个: false,undefined,null,0,""(空字符串),NaN 除此之外的所有值,都是“真值”,即在逻辑判断中可以当true来使用
IT人一直在路上
2019/09/18
5.4K0
js中关于假值和空数组的总结
《python算法教程》Day7 - 获取有向图的所有强连通分量强连通分量定义代码示例
今天是《python算法教程》的第7篇读书笔记,笔记的主要内容是通过python的遍历方式找出有向图的强连通分量。 强连通分量定义 在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到v
billyang916
2018/05/02
2K0
《python算法教程》Day7 - 获取有向图的所有强连通分量强连通分量定义代码示例
关于CocoaAsyncSocket中的tag值问题
---2016/10/10印象笔记 (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag 上面的方法会生成一个数据类:AsyncReadPacket,此类中包含tag,并把此对象放入数组theReadQueue中。 在CFStream中的回调方法中,会取theReadQueue最新的一个,在回调方法中取得tag,并将tag传 给回调方法: (void)onSocket:(AsyncSocket *)sock didWriteDa
程序员不务正业
2018/08/20
7280
Tarjan 算法求解强连通分量
在 《Tarjan 算法的思路》中我们已经给出了 Tarjan 算法中的比较重要的几个元素,我们在这里重新复习一下:
用户2932962
2019/07/27
1.1K0
关于torch.nn.LSTM()的输入和输出
input_size:一般是词嵌入的大小 hidden_size:隐含层的维度 num_layers:默认是1,单层LSTM bias:是否使用bias batch_first:默认为False,如果设置为True,则表示第一个维度表示的是batch_size dropout:直接看英文吧 bidirectional:默认为False,表示单向LSTM,当设置为True,表示为双向LSTM,一般和num_layers配合使用(需要注意的是当该项设置为True时,将num_layers设置为1,表示由1个双向LSTM构成)
西西嘛呦
2021/07/23
1.7K0
Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
一、背景介绍 强连通分量是有向图中的一个子图,在该子图中,所有的节点都可以沿着某条路径访问其他节点。强连通性是一种非常重要的等价抽象,因为它满足 自反性:顶点V和它本身是强连通的 对称性:如果顶点V和顶点W是强连通的,那么顶点W和顶点V也是强连通的 传递性:如果V和W是强连通的,W和X是强连通的,那么V和X也是强连通的 强连通性可以用来描述一系列属性,如自然界中物种之间的捕食关系,互相捕食的物种可以看作等价的,在自然界能量传递中处于同一位置。 下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,
老白
2018/03/19
2.7K0
Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
Python中的曲线插值算法
在实际应用中需要对路径或者曲线进行重采样,重采样的过程就是"曲线拟合->重采样曲线点"的过程。
YoungTimes
2022/04/28
2.3K0
Python中的曲线插值算法
算法模板——Tarjan强连通分量
功能:输入一个N个点,M条单向边的有向图,求出此图全部的强连通分量 原理:tarjan算法(百度百科传送门),大致思想是时间戳与最近可追溯点 这个玩意不仅仅是求强连通分量那么简单,而且对于一个有环的有向图可以有效的进行缩点(每个强连通分量缩成一个点),构成一个新的拓扑图(如BZOJ上Apio2009的那个ATM)(PS:注意考虑有些图中不能通过任意一个单独的点到达全部节点,所以不要以为直接tarjan(1)就了事了,还要来个for循环,不过实际上复杂度还是O(M),因为遍历过程中事实上每个边还是只会被走一次
HansBug
2018/04/10
6370
Tarjan算法求图的强连通分量
   有向图强连通分量:在有向图 G 中,如果两个顶点 V_i, V_j 间(vi>vj)有一条从 V_i 到 V_j 的有向路径,同时还有一条从 V_j 到 V_i 的有向路径,则称两个顶点强连通 (strongly connected)。如果有向图 G 的每两个顶点都强连通,称 G 是一个强连通图。有向图的极大强连通子图,称为强连通分量 (strongly connected components)。
yhlin
2023/02/27
1.3K0
Tarjan算法求图的强连通分量
算法创作|求任意N个整数中的最大值和最小值
解决这个问题有三种常见思路,第一种思路比较简单粗暴,就是对用户输入的每个整数两两之间进行比较,直到找到最大的整数和最小的整数为止。第二种思路是将用户输入的整数放入一个空列表中,然后利用Python内置的max()函数和min()函数分别得到最大值和最小值。第三种思路与第二种思路类似,也是将用户输入的整数放入一个空列表,然后对列表进行排序,列表下标为0的数即为最小值,列表下标为N-1的数即为最大值。接下来让我们来演示一下第三种方法:
算法与编程之美
2021/03/30
2.4K0
算法创作|求任意N个整数中的最大值和最小值
关于Pytorch中双向LSTM的输出表示问题
上面的实验结果,第一条输出为输出的维度大小,分别是长度,批次和隐藏层大小*2。我们可以看出最后一维的维度值为100,是设置隐藏层大小的两倍。 第二条输出则是我们的隐藏层维度大小,分别是左右两向,批次大小,隐藏层大小。 第三条输出是(第一条数据)从左往右第一个词所对应的表示向量的值,为“序列从左往右第一个隐藏层状态输出”和“序列从右往左最后一个隐藏层状态输出”的拼接。 第四条输出是(第一条数据)从左往右最后一个词所对应的表示向量的值,为“序列从左往右最后一个隐藏层状态输出”和“序列从右往左第一个隐藏层状态输出”的拼接。 第五条输出是隐藏层输出,为“序列从左往右最后一个隐藏层状态输出”和“序列从右往左最后一个隐藏层状态输出”的拼接。
全栈程序员站长
2022/06/28
1K0
关于Java中的整数类型值比较的疑问
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/164
joshua317
2021/10/19
1.2K0
python输出多个变量的值。
有点类似于C语言 print("%s,%d,%d"%(name ,age ,school))
py3study
2020/01/10
5.3K0
C++中的左值和右值
在C/C++中,左值(lvalue)和右值(rvalue)是用于规定表达式(expression)的性质。C++中表达式要不然是左值,要不然是右值。
阿杜
2018/08/06
1.9K0
Python中输入和输出[通俗易懂]
格式:result = raw_input(‘提示信息’)
全栈程序员站长
2022/07/01
8610
Python中输入和输出[通俗易懂]
C++ 中的左值和右值
一直以来,我都对C++中左值(lvalue)和右值(lvalue)的概念模糊不清。我认为是时候好好理解他们了,因为这些概念随着C++语言的进化变得越来越重要。
全栈程序员站长
2022/07/23
1.9K0
点击加载更多

相似问题

连通分量算法输出

14

从角分量中删除输出属性值

42

pig中的连通分量算法

27

关于角分量中全局定义的JS常数的Jest ReferenceError

16

solve.QP中的错误

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档