小编Jua*_*des的帖子

Java Regex中的正斜杠

我无法弄清楚为什么下面的代码没有按预期运行

"Hello/You/There".replaceAll("/", "\\/");
Run Code Online (Sandbox Code Playgroud)
  • 预期产量: Hello\/You\/There
  • 实际产量: Hello/You/There

我需要向前逃避斜线吗?我不这么认为,但我也违背了我的意愿尝试了以下......没有用

"Hello/You/There".replaceAll("\\/", "\\/");
Run Code Online (Sandbox Code Playgroud)

最后,我意识到我不需要正则表达式,我只能使用以下内容,它不会创建正则表达式

"Hello/You/There".replace("/", "\\/");
Run Code Online (Sandbox Code Playgroud)

但是,我仍然想知道为什么我的第一个例子不起作用.

java regex

49
推荐指数
1
解决办法
12万
查看次数

如何确定Java中通用字段的类型?

我一直在尝试确定类中字段的类型.我已经看到了所有的内省方法,但还没有弄清楚如何做到这一点.这将用于从java类生成xml/json.我在这里看了很多问题,但还没找到我需要的东西.

例:

class Person {
    public final String name;
    public final List<Person> children;
}
Run Code Online (Sandbox Code Playgroud)

当我编组这个对象时,我需要知道该chidren字段是一个类型对象的列表Person,所以我可以正确地编组它.

我试过了

for (Field field : Person.class.getDeclaredFields()) {
    System.out.format("Type: %s%n", field.getType());
}
Run Code Online (Sandbox Code Playgroud)

但是,这只会告诉我,这是一个List,不是ListPerson小号

谢谢

java generics reflection types introspection

34
推荐指数
3
解决办法
5万
查看次数

用PHP进行Web抓取

我正在寻找一种方法,用PHP中的用户提供的URL进行另一个页面的小预览.

我只想检索页面的标题,图像(如网站的标识)和一些文字或描述(如果可用).没有任何外部库/类,有没有简单的方法可以做到这一点?谢谢

到目前为止,我已经尝试使用DOCDocument类,加载HTML并在屏幕上显示它,但我不认为这是正确的方法

html php curl html-parsing web-scraping

16
推荐指数
3
解决办法
5万
查看次数

如何创建类似于Partial的,需要设置单个属性

我们的结构如下:

export type LinkRestSource = {
    model: string;
    rel?: string;
    title?: string;
} | {
    model?: string;
    rel: string;
    title?: string;
} | {
    model?: string;
    rel?: string;
    title: string;
};
Run Code Online (Sandbox Code Playgroud)

这几乎与说法相同

type LinkRestSource = Partial<{model: string, rel: string, title: string}>
Run Code Online (Sandbox Code Playgroud)

除了这将允许传入空对象,而初始类型需要传递其中一个属性

我怎样才能创建类似的泛型Partial,但其行为与上面的结构相似?

generics typescript

16
推荐指数
4
解决办法
4051
查看次数

JavaScript字符串比较和数字比较一样快吗?

我想为JavaScript枚举编写一个小库.对我来说,我需要决定如何存储枚举值.因此,我想在比较时使用最快的方法,但我也想要一些可调试的东西,所以我在使用字符串或数字之间徘徊.我知道我也可以使用对象,但这将是另一个问题

例如

// I don't want this because when debugging, you'd see just the value 0
var Planets = {Earth:0, Mars:1, Venus: 2}

// I'd prefer this so that Planets.Earth gives me a nice readable value ("Earth")
var Planets = {Earth: 'Earth', Mars: 'Mars'}
Run Code Online (Sandbox Code Playgroud)

但是我担心当我比较它们时if (myPlanet === Planet.Earth),字符串比较可能会花费更长的时间(比如它是否处于紧密循环中).这应该是这种情况,因为http://ecma-international.org/ecma-262/5.1/#sec-11.9.6

如果Type(x)是String,则如果x和y完全相同的字符序列(相应位置的长度和字符相同),则返回true; 否则,返回false.

但是当我写一个测试用例时,我发现他们花了相同的时间http://jsperf.com/string-comparison-versus-number-comparison/2所以它似乎不是在扫描整个字符串.

我知道这可能是一个微优化,但我的问题是:是否使用指针进行字符串相等比较,因此与数字相等比较一样快?

javascript string performance enums

14
推荐指数
1
解决办法
8439
查看次数

从Angular 2组件中访问`selector`

我试图找出如何访问selector我们传递给 @Component装饰器的内容.

例如

@Component({
  selector: 'my-component'
})
class MyComponent {
  constructor() {
     // I was hoping for something like the following but it doesn't exist
     this.component.selector // my-component
  }
}
Run Code Online (Sandbox Code Playgroud)

最后,我想使用它来创建一个自动添加属性的指令,data-tag-name="{this.component.selector}"以便我可以使用Selenium查询通过其选择器可靠地找到我的角度元素.

我没有使用量角器

angular2-directives angular2-components angular2-decorators angular

12
推荐指数
4
解决办法
8532
查看次数

为什么decodeURIComponent('%')会锁定我的浏览器?

我只是用AJAX测试一些东西,如果我发出警报,我发现成功了

alert(decodeURI('%'));
Run Code Online (Sandbox Code Playgroud)

要么

alert(encodeURIComponent('%'));
Run Code Online (Sandbox Code Playgroud)

浏览器错误输出以下代码.

$.ajax({
   type: "POST",
   url: "some.php",
   data: "",
   success: function(html){
         alert(decodeURIComponent('%'));
//           alert(decodeURI('%'));
   }
 });
Run Code Online (Sandbox Code Playgroud)

如果我使用任何其他字符串,它的工作正常.
这是我错过的东西吗?

javascript decodeuricomponent

10
推荐指数
3
解决办法
2万
查看次数

与MySQL服务器通信的最佳方式是什么?

我将使用C/C++,并想知道与MySQL服务器通信的最佳方式.我应该使用服务器安装附带的库吗?它们是否是我应该考虑的优秀图书馆,而不是官方图书馆?

c c++ mysql sql database

8
推荐指数
1
解决办法
1316
查看次数

写入套接字并处理损坏的管道

我在PHP中有一些连接到套接字的代码.在写信的过程中,我一直在断断续续地断管.如果再次写入管道,问题似乎就消失了.我想知道从中恢复需要什么(最安全的方法).我也想知道socket_write是否可以返回而不写入传递给它的完整字符串.这就是我目前所拥有的.

function getSocket() {
  $socket = socket_create( AF_UNIX, SOCK_STREAM, 0 );
  if ( $socket === FALSE ) {
    throw new Exception(
      "socket_create failed: reason: " . socket_strerror( socket_last_error() ));
    }
  }

  $result = socket_connect($socket, $address);
  if ($result === false) {
    throw new Exception("socket_connect() failed.\nReason: ($result) " .
        socket_strerror(socket_last_error($socket)));
  }
  return $socket;
}

function writeSocket($stmt) {
  $tries = 0;
  $socket = getSocket();
  do {
    // Is is possible that socket_write may not write the full $stmt?
    // Do I need to …
Run Code Online (Sandbox Code Playgroud)

php sockets broken-pipe

8
推荐指数
1
解决办法
2万
查看次数

XPath查找包含CSS类的祖先节点

我正在写一些Selenium测试,我需要能够找到一个WebElement我已经找到的祖先.

这是我正在尝试但没有返回任何结果

// checkbox is also a WebElement
WebElement container = checkbox.findElement(By.xpath(
    "current()/ancestor-or-self::div[contains(@class, 'x-grid-view')]") );
Run Code Online (Sandbox Code Playgroud)

下面的图像显示了我选择的深蓝色突出显示的div和我想要用箭头指向它的那个.

在此输入图像描述

更新 尝试prestomanifesto的建议,并得到以下错误

[cucumber]       org.openqa.selenium.InvalidSelectorException: The given selector ./ancestor::div[contains(@class, 'x-grid-view']) is either invalid or does not result in a WebElement. The following error occurred:
[cucumber]       [InvalidSelectorError] Unable to locate an element with the xpath expression ./ancestor::div[contains(@class, 'x-grid-view']) because of the following error:
[cucumber]       [Exception... "The expression is not a legal expression."  code: "51" nsresult: "0x805b0033 (NS_ERROR_DOM_INVALID_EXPRESSION_ERR)"  location: "file:///C:/Users/JUAN~1.MEN/AppData/Local/Temp/anonymous849245187842385828webdriver-profile/extensions/fxdriv
Run Code Online (Sandbox Code Playgroud)

更新2 真的很奇怪,即使ID不起作用

[cucumber]       org.openqa.selenium.NoSuchElementException: Unable …
Run Code Online (Sandbox Code Playgroud)

java selenium xpath

8
推荐指数
1
解决办法
1万
查看次数