我有一个带有反向引用的正则表达式.如何在bash脚本中使用它?
比如我想打印匹配的内容(.*)
grep -E "CONSTRAINT \`(.*)\` FOREIGN KEY" temp.txt
Run Code Online (Sandbox Code Playgroud)
如果应用它
CONSTRAINT `fk_dm` FOREIGN KEY
Run Code Online (Sandbox Code Playgroud)
我想输出
fk_dm
Run Code Online (Sandbox Code Playgroud) 我从http://www.digitalmars.com/d/download.html抓取了"dmd D 2.0编译器1-click install for Windows" ,安装完毕,并尝试编译"D编程语言"中的hello world示例,即
import std.stdio;
void main() {
writeln("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)
用"dmd hello.d",但遇到了:
hello.d(4): Error: undefined identifier writeln, did you mean function writefln?
hello.d(4): Error: function expected before (), not __error of type _error_
Run Code Online (Sandbox Code Playgroud)
这本书是否过时,或者安装错误,还是......?
目前Emacs https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode无法正确突出显示
`\`
Run Code Online (Sandbox Code Playgroud)
因为它不理解单个反斜杠在这样的原始字符串文字中是自包含的.
我相信这个来自d-mode.el的摘录
(defvar d-mode-syntax-table nil
"Syntax table used in d-mode buffers.")
(or d-mode-syntax-table
(setq d-mode-syntax-table
(let ((table (funcall (c-lang-const c-make-mode-syntax-table d))))
;; Make it recognize D `backquote strings`
(modify-syntax-entry ?` "\"" table)
;; Make it recognize D's nested /+ +/ comments
(modify-syntax-entry ?+ ". 23n" table)
table)))
Run Code Online (Sandbox Code Playgroud)
与这个问题高度相关.如何解决这个问题的想法?
另见:http://forum.dlang.org/post/kqzbgawuzyemcyjnsuin@forum.dlang.org
目标是一个函数,给定包含数字的字符串和整数类型T,如果值适合没有溢出的类型,则返回成功+转换值,否则返回失败.
使用std::istringstream读取从字符串作品某些情况下,一个数字:
template<typename T>
std::pair<bool, T> decode(std::string s)
{
T value;
std::istringstream iss(s);
iss >> std::dec >> value;
return std::pair<bool, T>(!iss.fail(), value);
}
template<typename T>
void testDecode(std::string s)
{
std::pair<bool, T> result = decode<T>(s);
if (result.first)
std::cout << +result.second;
else
std::cout << "ERROR";
std::cout << std::endl;
}
int main()
{
testDecode<int32_t>("12"); // 12
testDecode<int16_t>("1000000"); // ERROR
testDecode<int16_t>("65535"); // ERROR
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,对于8位类型(因为它们被视为chars)失败了:
testDecode<uint8_t>("12"); // 49 !
Run Code Online (Sandbox Code Playgroud)
负数也被错误地接受并解析为无符号类型:
testDecode<uint16_t>("-42"); // 65494 !
Run Code Online (Sandbox Code Playgroud)
这种功能由例如std.conv.toD和str::parse …
我绝对是 Python 新手(我来自 Java),我对类字段有以下疑问。
考虑这样的代码:
class Toy():
def __init__(self, color, age):
self.color = color
self.age = age
action_figure = Toy('red', 10)
Run Code Online (Sandbox Code Playgroud)
好的,做了什么很清楚而且很简单:
它正在定义一个玩具类。在构造方法中定义了两个字段以及如何设置字段值。最后(在“main”中)它创建了一个新的Toy实例,在构造函数调用中传递该字段的值。
好的,明白了……但我有疑问。在 Java 中定义相同的类我做这样的事情:
public class Toy {
private String color;
private int age;
// CONSTRUCTOR:
public Dog(String color, int age) {
this.color = color;
this.age = age;
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,它很相似,但我发现了一个很大的区别。在我的 Java conde 中,我将类字段声明为我的构造函数方法之外的变量。在 Python 中,我直接在构造函数方法中定义类字段。所以这意味着在 Java 中我可以声明 n 个类字段并使用构造函数方法只初始化这个字段的一个子集,例如这样的:
public class Toy {
private String color;
private int age;
private String field3;
private …Run Code Online (Sandbox Code Playgroud) 此问题类似于盲SQL注入.目标是确定字符串的确切值,您可以做的唯一测试是查看指定的DOS样式通配符(?=任何字符,*=任何数字的任何字符)是否与字符串匹配.(所以实际上你只能访问一个bool DoesWildcardMatch(string wildcard)功能).
直截了当的方法是测试,a*, b*, c*...直到找到第一个字母,然后重复.我能想到的一些优化:
*a*, *b*等以确定字符集*x*找到匹配时,执行divide-et-impera(*a*x*, *b*x*, ...)我需要以人类可读的文本形式表示IEEE 754-1985双(64位)浮点数,条件是文本形式可以被解析回完全相同(逐位)的数字.
如果不打印原始字节,这可行/实用吗?如果是,那么执行此操作的代码将非常感激.
我们使用org.apache.commons.dbcp.BasicDataSource作为Spring中数据源的父类.
是否可以在"url"或DBCP数据源中的另一个属性中指定要使用的模式?
我正在尝试使用带有D-trace的args预览运行命令.我试过这样的事情:
sudo dtrace -n 'syscall::execve:return {printf("%s\n", curpsinfo->pr_psargs);}'
Run Code Online (Sandbox Code Playgroud)
但是在OSX上,这段代码只返回命令名而不是args.
我发现这个论坛帖子,但最后一个答案中的代码对我不起作用.